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 ?
<?
// 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
?>
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 :-/
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 :-/
Dat klopt ook wel. In je query heb je immers staan 'WHERE id = ...' en er zullen geen twee records met hetzelfde id zijn.
Oei, daar zit het probleem. Op deze manier wordt de inhoud van $_POST['whores'] telkens overschreven en zal alleen de laatst checkbox uitgelezen kunnen worden.
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.
nou ik heb nu het volgende... en naar mijn weten zit ik volledig mis
<?
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>";
}
?>
Allereerst zou ik voor het uitlezen van de array een foreach loop gebruiken:
<?php
foreach($_POST['whores'] as $whore_id) {
}
?>
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.