Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Mit Button Abfrage starten (PHP)“

Ossipower

Nicht mehr ganz neu hier

hallo leute.

ich habe eine datenbank mit einer tabelle "planeten" in dieser tabelle sind folgende spalten "id" "planetenname", "planentenkategorie", "planetenbeschreibung", "planetenbild" und "planeteneigentuemer".
dort sind information von planeten gespeichert. z.B. Endrit und Tranch.

auf der seite ist dann eine liste mit den bezeichnungen:
planetenname:
planentenkategorie:
planetenbeschreibung:
planetenbild:
planeteneigentuemer:

wenn man jetzt die information von Endrit sehen, soll man auf einen button mit dem namen "Endrit" drücken und die infos sollen dann angezeigt werden. wenn ich dann auf den button "Tranch", die daten von diesem planeten.


wie geht das?

ich danke euch im voraus.

gruß
ossipower
 

saila

Moderatorle

AW: Mit Button Abfrage starten (PHP)

Kennst du dich mit php und JavaScript/Ajax aus oder hast du scon mal etwas von jQuery gehört?
Diese Kenntnisse wären von großem Vorteil. Ansonsten hilft fast kaum eine Erläuterung - ausser man würde dir den Script-Code liefern.
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

bin gerade dabei mich einzuarbeiten. also am anfang. möchte auch kein fertiges script, sondern eher einen hinweis.

sitze schon seit 2 tagen an der sache, im netz habe ich nichts passendes gefunden. oder besser ich konnte die infos nicht filtern.


gruß
ossipower
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

so bin jetzt soweit:

button:

Code:
<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="Endrit" value="Endrit">
</form>
abfrage.php:

Code:
if ($_POST["submit"])
{
    $_planetenname = mysql_real_escape_string($_POST["name"]);
    
    $abfrage = "SELECT * FROM planetenkategorie WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
     {
      echo "$row->planetenkategorie";
    }
   
else
   {
   echo "Planet nicht vorhanden.<br>";
   }
}
funktioniert nur nicht.

habt ihr einen tip.

und liege ich richtig damit, das ich im button mit name="..." den wert (namen des planetens übermittle)

gruß
ossipower
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

habe jetzt in der abfrage.php flogendes weggelassen:
Code:
else
   {
   echo "Planet nicht vorhanden.<br>";
   }
der fehler ist weg. bekomme jetzt aber keine ausgabe.
 

SineTempore

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

Deine Vermutung mit dem Button stimmt nur halb.
HTML:
<form method="POST" action="meinePHP.php">
<input type="submit" name="meinName" value="meinWert">
</form>

dann bekommst kannst du im PHP folgendermaßen darauf zugreifen:
PHP:
echo $_POST['meinName'];
// Ausgabe: meinWert

der fehler mit dem else rührt daher, dass du es falsch positioniert hast.
Damit ein du ein else einsetzen kannst, brauchst du ersteinmal ein if davor.

Hier mal noch ein Tutorial, das mir am Anfang sehr geholfen hat mit PHP zurecht zu kommen:
Lies dir das mal durch und melde dich dann wieder :)
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

ok, soweit kapiert.

botton:
Code:
<div id="button">
<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="Tranch" value="Tranch">
</form>

<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="Endrit" value="Endrit">
</form>
</div>
abfrage.php
Code:
if (!empty($_POST["Tranch"]))
{
    $_planetenname = mysql_real_escape_string($_POST["Tranch"]);

    $abfrage = "SELECT planetenkategorie, planetenbeschreibung FROM planeten WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
     {
      echo "$row->planetenkategorie";
        echo "$row->planetenbeschreibung";
    }

}

if (!empty($_POST["Endrit"]))
{
    $_planetenname = mysql_real_escape_string($_POST["Endrit"]);

    $abfrage = "SELECT planetenkategorie FROM planeten WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
     {
    echo "Kategorie: $row->planetenkategorie";
    }

}

hab aber weitere fragen.

1.
sehe ich das richtig. wenn ich 30 planeten habe, dann muß ich 30 mal die if-anweisung in der abfrage.php schreiben. oder geht dies besser. ich denke mal je mehr planten ich habe um so länger dauert das script?

2.
wenn ich jetzt die abfrage starte springt die seite z.B. von der index.php (wo die buttons sind) zur abfrage.php (ausgabe der daten).
gibt es eine möglichkeit, daß sich die änderungen nur in einer div-box ändern?

3.
wie kann ich die daten in arrays speichern, so daß ich diese z.B. in anderen div-boxen nutzen kann?
 

M3g4Star

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

Zu 1. versuch mal damit zu arbeiten und dann einfach das value abzufragen.

Variablen und Formulare - Wie verarbeite ich mehrere Submit-Buttons?

botton:
Code:
<div id="button">
<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="planet" value="Tranch">
</form>

<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="planet" value="Endrit">
</form>
</div>
abfrage.php
Code:
if (!empty($_POST["planet"]))
{
    $_planetenname = mysql_real_escape_string($_POST["planet"]);

    $abfrage = "SELECT planetenkategorie, planetenbeschreibung FROM planeten WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
     {
      echo "$row->planetenkategorie";
        echo "$row->planetenbeschreibung";
    }

}

zu 2. nur partielle Änderungen ohne Reload der Seite bekommst du mit Ajax
Tips dazu findest du dann u.A. hier: jQuery.post() – jQuery API


zu 3. Daten in ein Array speichern

Arrays und Arrayvariablen - Wie kann ich ein Element an ein Array anfügen?


[Offtopic]
Evtl. sollte man einmal eine Linksammlung in einem Thread aller hilfreichen Seiten (PHP / Ajax / HTML ) anlegen. Gerade bei PHP / Ajax kann man Klassen nutzen die schon vorhanden sind und man erspart sich einige Probleme.
[/Offtopic]

Gruß M3g4
 
Zuletzt bearbeitet:

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

wenn ich das richtig verstanden habe, dann lese ich mit ($_REQUEST['submit']) den wert im value vom button aus.

also muß ich nur noch eine abfrage erstellen.

Code:
if (!empty($_POST['submit']))
{
    $_planetenname = mysql_real_escape_string($_REQUEST['submit']);

    $abfrage = "SELECT planetenkategorie, planetenbeschreibung FROM planeten WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
     {
      echo "$_planetenname";
        echo "$row->planetenbeschreibung";
    }

}
funktioniert bei mir leider nicht. bekomme keine ausgabe. was mich vermuten läßt, daß ich im $_planetenname keinen wert habe.
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

wow, es geht.
hatte vergessen, den button-namen zu ändern. (M3g4Star super Tipp :D)

so kommen wir zum nächsten punkt

2.
wenn ich jetzt die abfrage starte springt die seite z.B. von der index.php (wo die buttons sind) zur abfrage.php (ausgabe der daten).
gibt es eine möglichkeit, daß sich die änderungen nur in einer div-box ändern?

ich habe von ajax nun gar keine ahnung. könnt ihr mir mal den anfang verraten.

gruß
ossipower
 

saila

Moderatorle

AW: Mit Button Abfrage starten (PHP)

Hi,

ja, du gehst auf jQuery.com, nimmst dort die Installationshilfe, wie man das jQuery-Framework einbindet und danach erstellst du eine eigene js-Datei (meine_js.js) mit folgendem Inhalt:
Code:
$(documentt).ready( function() {
    $('#button_id').click( function() {
        // daten aus dem form-tag
        var datas = $('form').******ize();
        // ajax starten
        $.ajax({
            type: 'POST',
            url: 'die_url_zur_php_datei',
            data: datas,
            success: function(data) {
                $('#div_box_id_in_welche_das_ergebnis_soll').html(data);
            });
        });
    });
});
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

saila auch dir ein großes danke schön.

hab jetzt soweit alles gemacht, nur funktioniert nicht. die ausgabe wird immer noch auf der neuen seite angezeigt.
ich denke mal, ich habe var datas nicht richtig angegeben
was kommt da rein $row oder $ergebnis?

Code:
<link href="css/template.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">
$(documentt).ready( function() {
    $('#submit').click( function() {
        // daten aus dem form-tag
        [COLOR=Red]var datas = $('form').******ize();[/COLOR]
        // ajax starten
        $.ajax({
            type: 'POST',
            url: 'abfrage.php',
            data: datas,
            success: function(data) {
                $('#divliste').html(data);
            });
        });
    });
});
</script>

</head>

<body>

<div id="liste">

</div> 


<div id="button">
<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="submit" value="Tranch">
</form>

<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="submit" value="Endrit">
</form>
</div>
abfrage.php

Code:
<?
include("connect.inc.php");
$connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);

mysql_select_db("fighters")
or die ("Die Datenbank existiert nicht.");

if ($_REQUEST['submit'])
{
    $_planetenname = mysql_real_escape_string($_REQUEST['submit']);

    $abfrage = "SELECT planetenkategorie, planetenbeschreibung FROM planeten WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    
    echo "$row->planetenkategorie";
    echo "$row->planetenbeschreibung";
    }


}  
mysql_close($connection); 
?>
gruß
ossipower
 

saila

Moderatorle

AW: Mit Button Abfrage starten (PHP)

Hi,

als Hilfestellung:
PHP:
<?php
$einmaligAmEnde = '';

while($row = mysql_fetch_object($ergebnis)) {
    
    $einmaligAmEnde .= $row->planetenkategorie .' + '. $row->planetenbeschreibung ."\n";
}

echo $einmaligAmEnde;
?>
Ajax-Callback besteht entweder aus einem String, JSON, YAML, XML. In deinem Fall wäre es ein String. Das würde sich wie in meinem Beispiel als echo darstellen. Das echo wird wiederum von jQuery-ajax als data-callback erkannt. Das bedeutet, wenn du das ganze noch "schön" machen möchtest, dann läuft dies bereits im php-Script ab. Also Serverseitig.
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

wenn ich den letzten tip verstanden habe, setze ich damit mein erhaltenen daten in ein array und kann dann diese weiterleiten oder verarbeiten.


hab jetzt meine while mit deiner while ausgetauscht (hoffe es war richtig) oder muß ich deine nochmals am ende des abfrage.php scripts einfügen.

aber es wird immer noch die abfrage.php aufgerufen und nicht das div aktualisiert.

var datas = $('einmaligAmEnde').******ize();
 

saila

Moderatorle

AW: Mit Button Abfrage starten (PHP)

Also du hattest in deiner Mitteilung zwei while-Schleifen und innerhalb dieser jeweils ein echo. Mein Bsp.. bezog sich darauf, dass du die while-Schleifen ganz normal abarbeiten lässt, allerdings die Inhalte für die Ausgabe in einer Varibalen sammelst. Dies wird dann am Ende einmalig per echo ausgegeben.

Das bedeutet in einem Beispiel:
index.php ist die Datei, in welcher die Daten ausgegeben werden. Die ausgabe.php-Datei ist jene Datei, welche per ajax aufgerufen wird. Diese Datei wird nicht über die url ausgeführt, sondern stellt eine eigenständige Datei dar, welche lediglich im Hintergrund bei klick auf einen Button in der index.php ausgeführt wird.

Das wiederum bedeutet - wenn du die while-Schleifen in der Datei hast, welche sich z.B. index.php nennt, dann müsste dieser Code-Teil in die abfrage.php ausgelagert werden.

Es ist ein wenig komplex am Anfang. Was aber nur auf die ersen ein zwei Scripte zutrifft. Danach ist es relativ einfach zu verstehen.
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

äähhhhhhhhhhh, jetzt bin ich total durch den wind.

meine while-Schleife ist in der abfrage.php. muß ich noch eine im #divliste einfügen?

index.php

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ice="http://ns.adobe.com/incontextediting">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>

<link href="css/template.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">
$(documentt).ready( function() {
    $('#submit').click( function() {
        // daten aus dem form-tag
        var datas = $('info').******ize();
        // ajax starten
        $.ajax({
            type: 'POST',
            url: 'index.php',
            data: datas,
            success: function(data) {
                $('#liste').html(data);
            });
        });
    });
});
</script>

</head>

<body>

<div id="liste">




</div> 


<div id="button">
<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="submit" value="Tranch">
</form>

<form method="POST" action="abfrage.php">
<input type="submit" class="Button" name="submit" value="Endrit">
</form>
</div>


</body>
</html>
abfrage.php

Code:
<?
include("connect.inc.php");
$connection = @mysql_connect($_db_host,$_db_username,$_db_passwort);

mysql_select_db("fighters")
or die ("Die Datenbank existiert nicht.");

if ($_REQUEST['submit'])
{
    $_planetenname = mysql_real_escape_string($_REQUEST['submit']);

    $abfrage = "SELECT planetenkategorie, planetenbeschreibung FROM planeten WHERE planetenname='$_planetenname'";

    $ergebnis = mysql_query($abfrage);
        
    $info = '';

    while($row = mysql_fetch_object($ergebnis)) {
    
    $info .= $row->planetenkategorie .' + '. $row->planetenbeschreibung;
    
    echo $info;
}





}  
mysql_close($connection); 
?>
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

jep jep jep, hab es. super.

ich danke euch.ihr habt mal wieder gezeigt, daß ich im besten forum bin.


gruß
ossipower
 

Ossipower

Nicht mehr ganz neu hier

AW: Mit Button Abfrage starten (PHP)

so jetzt hab ich mal noch eine frage. :D

dreamweaver sagt mir in der 12. zeile sei ein fehler.
mozilla sagt es mir auch:

Fehler: missing } after property list
Quelldatei: "ist richtig"
Zeile: 12, Spalte: 4
Quelltext:
});
die datei.js:

Code:
$(documentt).ready( function() {
    $('#submit').click( function() {
        // daten aus dem form-tag
        var datas = $('info').******ize();
        // ajax starten
        $.ajax({
            type: 'POST',
            url: 'index.php',
            data: datas,
            success: function(data) {
                $('#info').html(data);
            });
        });
    });
});
hab schon überall probiert die } einzufügen. gibt nur mehr fehler.
kann mir einer helfen, wie ich den fehler wegbekomme? das script funktioniert. möchte nur alles richtig machen.

ich danke euch im voraus.

gruß
ossipower
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben