meerdere updates in tabel
ik zit met het volgende probleem.
In mijn form kan men dmv een checkbox meerdere opties aanvinken, waarna als men op submit drukt de rij in de tabel wordt aangepast waarbij de waarde gelijk is aan het id.
Nu lukt dat...echter..hoeveel ik ook aanvink, hij update altijd degene met het laagste id.
Iemand een idee ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
// de query als men op submit drukt
$result = mysql_query("UPDATE whores SET selling='1',priceperhour='".mysql_real_escape_string($_POST['priceperhour'])."', onthestreet=NOW(), hidename='".mysql_real_escape_string($_POST['proshidename'])."' WHERE id='" .mysql_real_escape_string($_POST['whores']). "' ")
or die(mysql_error());
echo "<font color='#ffffff'><b>This girl is now working the streets for $ ".number_format($_POST['priceperhour']).",- per hour</b></font>";
//de while
$sql = "SELECT * FROM whores WHERE owner='".mysql_real_escape_string($name)."' AND selling='1' ORDER BY id DESC ";
$res = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
echo "<option value=\"".$row['id']."\">".$whore_army[$row['pimping'] - 1]."</option>";
}// while loop
?>
// de query als men op submit drukt
$result = mysql_query("UPDATE whores SET selling='1',priceperhour='".mysql_real_escape_string($_POST['priceperhour'])."', onthestreet=NOW(), hidename='".mysql_real_escape_string($_POST['proshidename'])."' WHERE id='" .mysql_real_escape_string($_POST['whores']). "' ")
or die(mysql_error());
echo "<font color='#ffffff'><b>This girl is now working the streets for $ ".number_format($_POST['priceperhour']).",- per hour</b></font>";
//de while
$sql = "SELECT * FROM whores WHERE owner='".mysql_real_escape_string($name)."' AND selling='1' ORDER BY id DESC ";
$res = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
echo "<option value=\"".$row['id']."\">".$whore_army[$row['pimping'] - 1]."</option>";
}// while loop
?>
Echo de query eens en controleer of die eruit ziet zoals je verwacht?
ik blijf er op uitkomen dat hij maar 1 rij pakt... misschien dat ik even het coden moet laten, maar om eerlijk te zijn snap ik er nu helemaal niets van :-/
Dennis schreef op 31.12.2009 12:26:
Dat klopt ook wel. In je query heb je immers staan 'WHERE id = ...' en er zullen geen twee records met hetzelfde id zijn.ik blijf er op uitkomen dat hij maar 1 rij pakt... misschien dat ik even het coden moet laten, maar om eerlijk te zijn snap ik er nu helemaal niets van :-/
<input name='whores' type='checkbox' value='25'> English girl <br>
<input name='whores' type='checkbox' value='10'> Italian girl <br>
<input name='whores' type='checkbox' value='4'> Spanish girl <br>
Verander de naam van je velden in 'whores[]', dit zal resulteren in de array $_POST['whores'] die nu wel alle data van al je checkboxen zal bevaten. In het achterliggende script kun je met een foreach loop vervolgens deze array uitlezen en elk record in de database updaten.
Gewijzigd op 01/01/1970 01:00:00 door jaj BE
ik ga er eens mee aan de slag, kijken of ik er uit kom voor dat er rook uit mijn oren komt :-D
Succes in ieder geval!
nou ik heb nu het volgende... en naar mijn weten zit ik volledig mis
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
for($i=0;$i<$count;$i++){
$result = mysql_query("UPDATE whores SET selling='1',priceperhour='".mysql_real_escape_string($_POST['priceperhour'])."', onthestreet=NOW(), hidename='".mysql_real_escape_string($_POST['proshidename'])."' WHERE id='" .mysql_real_escape_string($_POST['whores'][$i]). "' ")
or die(mysql_error());
echo "<font color='#ffffff'><b>This girl is now working the streets for $ ".number_format($_POST['priceperhour']).",- per hour</b></font>";
}
?>
for($i=0;$i<$count;$i++){
$result = mysql_query("UPDATE whores SET selling='1',priceperhour='".mysql_real_escape_string($_POST['priceperhour'])."', onthestreet=NOW(), hidename='".mysql_real_escape_string($_POST['proshidename'])."' WHERE id='" .mysql_real_escape_string($_POST['whores'][$i]). "' ")
or die(mysql_error());
echo "<font color='#ffffff'><b>This girl is now working the streets for $ ".number_format($_POST['priceperhour']).",- per hour</b></font>";
}
?>
en bij name van de checkbox staat whores[]
hoop dat iemand om mijn gestuntel kan lachen :-/
Daarnaast zie ik nog enkele POST variabelen in je code. Als die voor elke checkbox verschillen, zul je die uiteraard ook in een array moeten zetten.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Maar iedereen alvast bedankt voor de feedback en snelle reacties!
en bij deze iedereen alvast een hele fijne jaarwisseling en dat 2010 alleen maar goede dingen met zich mag meebrengen!
En dat 2010 jou veel PHP inspiratie op mag leveren ;-)