• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Checkbox Variable zuordnen

Sasch

New member
Guten Morgen :)

dank eurer TOP Hilfe komm ich immer besser voran. Vielen Dank!

Ich bin gerade daran das Admin Menu zu gestalten

Ich lasse mir die eingegangene Bestellung ausgeben. Nun möchte ich ne checkbox hinzufügen wo ich abhake wer bezahlt hat.
Die Checkbox habe ich bereits. Wie sage ich dem Script jetzt bei welchem Kunden er den DB Eintrag machen soll??

PHP:
<?php
error_reporting (-1);

include 'dbconfig.php';

 echo "<br><table cellpadding='4'><tr>
   <td width='90px'>Datum</td>
   <td width='120px'>Vorname</td>
   <td width='120px'>Nachname</td> 
   <td width='120px'>Strasse</td>
   <td width='60px'>PLZ</td>
   <td width='120px'>Ort</td>
   <td width='120px'>Email</td>
   <td width='40px'>AGBS</td>
   </tr></table>";

$abfrage = "SELECT * FROM bestellung";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "<br><form action='bezahlt.php' method='post'><table border='1px' cellpadding='4'><tr>
   <td width='90px'>$row->date</td>
   <td width='120px'>$row->vorname</td>
   <td width='120px'>$row->nachname</td> 
   <td width='120px'>$row->strasse</td>
   <td width='60px'>$row->plz</td>
   <td width='120px'>$row->ort</td>
   <td width='120px'>$row->email</td>
   <td width='40px'>$row->agb</td>
   <td><input type='checkbox' name='bezahlt' value='ja'></td>
   </tr></table>";

   }
   
  echo "<input type='submit' value=' Absenden '></form>";

?>


PHP:
$eintrag = "INSERT INTO bestellung (bezahlt)
VALUES ('$bezahlt')";

$eintragen = mysql_query($eintrag);

Danke :)
 
ich glaub du hast mich falsch verstanden. Der kunde HAT SCHON bestellt und in der db ist folgender eintrag

kd, vorname, nachname, strasse, hausnummer, plz, ort, email, date, bezahlt


Der Kunde bekommt ne einmalige id zugewisen (KD).
Das lass ich mir jetzt Admin Menu ausgeben und füge jedem Kunden eine Checkbox zu.

Das Kästchen muss theoretisch wissen in welcher reihe es sich befindet sobald ich ok klicke und die Werte abschicke^^
 
Das Kästchen muss theoretisch wissen in welcher reihe es sich befindet sobald ich ok klicke und die Werte abschicke^^
Da gibt es mehrere Möglichkeiten.
Du musst auf jeden Fall jeder Reihe die Kunden-ID hinzufügen.
Am einfachsten wäre wahrscheinlich, diese in den Namen des Checkbox Feldes zu integrieren.
 
Ja Kunden-Id habe ich bereits hinzugefügt.

PHP:
$abfrage = "SELECT * FROM bestellung ORDER BY date LIMIT 10";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "<br><div style='float:left'><form action='bezahlt.php' method='post'><table border='1px' cellpadding='4'><tr>
   <td width='20px'>$row->kd</td>
   <td width='90px'>$row->date</td>
   <td width='120px'>$row->vorname</td>
   <td width='120px'>$row->nachname</td> 
   <td width='120px'>$row->strasse</td>
   <td width='60px' align='middle'>$row->plz</td>
   <td width='120px'>$row->ort</td>
   <td width='170px'>$row->email</td>
   <td width='80px' align='middle'><input type='checkbox' name='bezahlt' value='ja'></td>
   <td width='80px' align='middle'><input type='checkbox' name='paypal' value='paypal'></td>
   <td width='80px' align='middle'><input type='checkbox' name='ueberweisung' value='ueberweisung'></td>
   <td width='80px' ><input type='text' size='15' maxlength='15' name='am'></td>
   </tr></table></div>";

   }
   
?>

Am einfachsten wäre wahrscheinlich, diese in den Namen des Checkbox Feldes zu integrieren.

Wie meinst du das genau? Könntest du es mir eventuell an einer checkbox zeigen?

Vielen Dank
 
Paypal und Überweisung würde ich als Radio machen, da es ja vermutlich entweder oder ist.
Und dann jeweils als Namen name="bezahlt0815" wobei 0815 die Kunden-ID ist
 
Ja radiobutton ist besser :)

Und dann jeweils als Namen name="bezahlt0815" wobei 0815 die Kunden-ID ist

ich kann doch bei name keine bestimmte ID eingeben, das muss doch ne Variable sein.

Ich hab mal ein Screenshot angehängt

PHP:
 <?php
error_reporting (-1);

include 'dbconfig.php';

 echo "<br><table cellpadding='4'><tr>
   <td width='90px' align='middle'>Datum</td>
   <td width='20px' align='middle'>KD</td>
   <td width='120px' align='middle'>Vorname</td>
   <td width='120px' align='middle'>Nachname</td> 
   <td width='120px' align='middle'>Strasse</td>
   <td width='60px' align='middle'>PLZ</td>
   <td width='120px' align='middle'>Ort</td>
   <td width='190px' align='middle'>Email</td>
   <td width='90px'>Bezahlt</td>
   <td width='70px'>Paypal</td>
   <td width='80px'>Überweisung</td>
   <td width='100px'>am</td>
   </tr></table>";
   

$abfrage = "SELECT * FROM bestellung ORDER BY date LIMIT 10";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "<br><div style='float:left'><form action='bezahlt.php' method='post'><table border='1px' cellpadding='4'><tr>
   <td width='20px'>$row->kd</td>
   <td width='90px'>$row->date</td>
   <td width='120px'>$row->vorname</td>
   <td width='120px'>$row->nachname</td> 
   <td width='120px'>$row->strasse</td>
   <td width='60px' align='middle'>$row->plz</td>
   <td width='120px'>$row->ort</td>
   <td width='170px'>$row->email</td>
   <td width='80px' align='middle'><input type='checkbox' name='bezahlt' value='ja'></td>
   <td width='80px' align='middle'><input type='radio' name='art' value='paypal'></td>
   <td width='80px' align='middle'><input type='radio' name='art' value='ueberweisung'></td>
   <td width='80px' ><input type='text' size='15' maxlength='15' name='am'></td>
   </tr></table></div>";

   }
   

?>

<div><input type='submit' value=' Absenden '></form></div>

Bildschirmfoto 2013-05-14 um 10.08.49.png
 
ich kann doch bei name keine bestimmte ID eingeben,
Warum nicht?

das muss doch ne Variable sein.
Was meinst du?

Du liest ja beim Request im PHP in einer Schleife alle Variablen ein die "bezahlt" als Prefix haben und von einer Kunden-ID gefolgt sind. Könnte man mit substr() oder einem Regex machen. Und dann wertest du deren jeweilige Value aus und entscheidest, ob in der DB ein Flag gesetzt wird oder nicht.
 
Du liest ja beim Request im PHP in einer Schleife alle Variablen ein die "bezahlt" als Prefix haben und von einer Kunden-ID gefolgt sind.

Genau an dem Punkt steh ich ja gerade :D Ich muss der checkbox ja erstmal sagen du gehörst zu dieser ID.

Wenn ich jetzt nämlich speicher, dann legt er die werte "bezahlen", "paypal" einfach als neuen Datensatz an,

und nicht zum passenden Kunden.

Verstehst du was ich mein? Kann aber auch sein dass ich zu müde bin...
 
Wenn ich jetzt nämlich speicher, dann legt er die werte "bezahlen", "paypal" einfach als neuen Datensatz an,

und nicht zum passenden Kunden.

Verstehst du was ich mein? Kann aber auch sein dass ich zu müde bin...
Ja, natürlich verstehe ich das. Die Lösung hab ich dir schon gegeben.
 
Warum schreibst du die ID des Kunden nicht ins value-Attribut der Checkbox? Die Information, die da jetzt drin steht ("ja") ist ja nicht wirklich hilfreich, und wenn die Checkbox nicht ausgewählt wird, wird ja gar nichts übermittelt.

ABER willst du wirklich immer nur einen Kunden ändern können?

PHP hat die nette Eigenschaft, dass man über den Namen eines Formularelements eine Arraystruktur aufbauen kann (z.B. "name[1][test]" kann man dann über $_POST["name"][1]["test"] ansprechen) - darüber würde ich die Daten jedes Kunden zusammenfassen.

PS: Das produzierte HTML ist invalide.
PPS: Ein INSERT bei SQL wird wohl auch nicht das sein, was du wirklich haben willst, sondern ein UPDATE mit einem entsprechenden WHERE...
 
Zurück
Oben