meerdere updates in tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis

Dennis

31/12/2009 11:26:00
Quote Anchor link
Hallo allemaal,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>
 
PHP hulp

PHP hulp

23/12/2024 11:50:07
 
Joren de Wit

Joren de Wit

31/12/2009 12:14:00
Quote Anchor link
Echo de query eens en controleer of die eruit ziet zoals je verwacht?
 
Dennis

Dennis

31/12/2009 12:26:00
Quote Anchor link
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 :-/
 
Joren de Wit

Joren de Wit

31/12/2009 12:30:00
Quote Anchor link
Dennis schreef op 31.12.2009 12:26:
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.
 
Dennis

Dennis

31/12/2009 12:32:00
Quote Anchor link
dat klopt, echter als ik de broncode bekijk heeft elke optie zijn eigen id. Vandaar dat ik niet begrijp dat het dan niet doorgevoerd wordt.

<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>
 
Joren de Wit

Joren de Wit

31/12/2009 12:37:00
Quote Anchor link
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.
 
Jaj BE

jaj BE

31/12/2009 12:38:00
Quote Anchor link
terug gewist, bovenstaande oplossing is praktischer
Gewijzigd op 01/01/1970 01:00:00 door jaj BE
 
Dennis

Dennis

31/12/2009 12:47:00
Quote Anchor link
ik ga er eens mee aan de slag, kijken of ik er uit kom voor dat er rook uit mijn oren komt :-D
 
Joren de Wit

Joren de Wit

31/12/2009 12:52:00
Quote Anchor link
En als er rook uit je oren komt, steek dan je hoofd even in een grote emmer koud water...

Succes in ieder geval!
 
Dennis

Dennis

31/12/2009 12:56:00
Quote Anchor link
hahaha

nou ik heb nu het volgende... en naar mijn weten zit ik volledig mis

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>";

}

?>


en bij name van de checkbox staat whores[]

hoop dat iemand om mijn gestuntel kan lachen :-/
 
Joren de Wit

Joren de Wit

31/12/2009 12:59:00
Quote Anchor link
Allereerst zou ik voor het uitlezen van de array een foreach loop gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?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.
 
- SanThe -

- SanThe -

31/12/2009 13:01:00
Quote Anchor link
Edit: Let even niet op mij (post was incorrect) maar let op wat Blanche aangeeft.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Dennis

Dennis

31/12/2009 13:10:00
Quote Anchor link
ik ga er morgen ( als er geen kater in de buurt is ) en anders zaterdag naar kijken. Voor vandaag heb ik het even gehad :)

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!
 
Joren de Wit

Joren de Wit

31/12/2009 13:25:00
Quote Anchor link
En dat 2010 jou veel PHP inspiratie op mag leveren ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.