login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Update (Opgelost)

Offline thomasje - 17/04/2008 09:08
Avatar van thomasjeMySQL beginner Ik ben weer met mijn enquette bezig maar ik loop tegen het volgende probleem aan:
Ik heb de volgende code:
  1. <?php
  2. mysql_connect('localhost','','');
  3.  
  4. if($_GET['pid'] == id)
  5. {
  6. $sdatum = date("d-m-Y");
  7. $stijd = time("H:i:s");
  8.  
  9. mysql_query("INSERT INTO enquete (id, datum, tijd) VALUES ('', '".$sdatum."', '".$stijd."')") or die (mysql_error());
  10. $id = mysql_insert_id();
  11. }
  12. ?>
  13.  
  14. <?
  15. else if($_GET['pid'] => 1)
  16. {
  17.  
  18. $query = "UPDATE enquete SET "$_GET['pid']"="$_GET['antwoord']" WHERE id =($id)";
  19. mysql_query($query) or die (mysql_error());
  20.  
  21. }
  22. ?>

En krijg deze foutmelding:
Parse error: syntax error, unexpected T_ELSE in /usr/home/ws/boers/www.boersriooltechniek.nl/www/marktonderzoek/teller.php on line 16

Hoe kan ik die oplossen?

30 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 17/04/2008 09:09
Avatar van Kr4nKz1n Onbekend zet elseif aan elkaar.
Offline thomasje - 17/04/2008 09:17
Avatar van thomasje MySQL beginner Nee dat doet hij ook niet,
Offline Kr4nKz1n - 17/04/2008 09:19 (laatste wijziging 17/04/2008 09:21)
Avatar van Kr4nKz1n Onbekend => moet sowieso ook >= worden.

En waarom sluit je php ertussen in even af?
Offline thomasje - 17/04/2008 09:23 (laatste wijziging 17/04/2008 09:28)
Avatar van thomasje MySQL beginner ik heb het allebei verandert maar het werkt nog niet.

Nu geeft hij een foutmelding op regel 19
Parse error: syntax error, unexpected T_VARIABLE in /usr/home/ws/boers/www.boersriooltechniek.nl/www/marktonderzoek/teller.php on line 16

Hoe kan ik die nu nog oplossen?
Offline SilVeX - 17/04/2008 09:31
Avatar van SilVeX HTML beginner
  1. $query = "UPDATE enquete SET ".$_GET['pid']."=".$_GET['antwoord']." WHERE id ='".$id."";


Wekr dat niet?
Offline Kr4nKz1n - 17/04/2008 09:34 (laatste wijziging 17/04/2008 09:36)
Avatar van Kr4nKz1n Onbekend
  1. $query = "UPDATE enquete SET ".$_GET['pid']."='".$_GET['antwoord']."' WHERE id=".$id;


Het is handiger op enkele quotes te gebruiken.
Dus:
  1. $query = 'UPDATE enquete SET '.$_GET['pid'].'=\''.$_GET['antwoord'].'\' WHERE id='.$id;
Offline thomasje - 17/04/2008 09:35 (laatste wijziging 17/04/2008 10:04)
Avatar van thomasje MySQL beginner Nu slaat hij de gegevens alleen nog niet op.
Offline Kr4nKz1n - 17/04/2008 09:59
Avatar van Kr4nKz1n Onbekend Oow wacht slecht 
Met dit gedeelte:
  1. $query = 'UPDATE enquete SET '.$_GET['pid'].'=\''.$_GET['antwoord'].'\' WHERE id='.$id;


Zeg je dat het veld $_GET['pid'] heet. maar dit is de waarde.
Wat moet het precies worden?
Welk veld moet er geupdate worden?

  1. $query = 'UPDATE enquete SET antwoord=\''.$_GET['antwoord'].'\' WHERE id='.$id;
Offline thomasje - 17/04/2008 10:23 (laatste wijziging 17/04/2008 10:45)
Avatar van thomasje MySQL beginner Het veld id staat ook in de url dus gewoon weer met $_GET['id'] zeker?
En de code zo als je al eerste heb is goed, alleen klopt volgens mij dt where id= gebeuren niet.
Maarhoe kan ik dit veranderen?
Offline Simax - 17/04/2008 10:45
Avatar van Simax Onbekend http://www.site...SQL/UPDATE
Offline thomasje - 17/04/2008 10:46 (laatste wijziging 17/04/2008 10:50)
Avatar van thomasje MySQL beginner Ja dat heb ik 1000 keer doorgelezen, maar met die code van Kr4nKz1n:
[code=php]$query = 'UPDATE enquete SET '.$_GET['pid'].'=\''.$_GET['antwoord'].'\' WHERE id='.$id;
Maar hoe moet ik hem nu ook nog eens zo krijgen dat hij werkt?
Offline Simax - 17/04/2008 10:57
Avatar van Simax Onbekend Codetags..
Offline thomasje - 17/04/2008 11:16 (laatste wijziging 17/04/2008 11:18)
Avatar van thomasje MySQL beginner geef is aub een voorbeeld want ik krijg het echt niet werkend
ik heb het nu zo:
  1. $query = 'UPDATE enquete SET '.$_GET['pid'].'=\''.$_GET['antwoord'].'\' WHERE id='.$_GET['id'].'';
Offline Simax - 17/04/2008 11:20
Avatar van Simax Onbekend Welk veld in de tabel 'enquete' wil je updaten dan?
Offline thomasje - 17/04/2008 11:23 (laatste wijziging 17/04/2008 11:25)
Avatar van thomasje MySQL beginner dat is per vraag verschillend, ik wou dat dus gewoon in de url meegeven als pid, en het antwoord geef ik steeds met antwoord mee.

Maar ik heb het nu zo, maar ook dat werkt niet:
  1. WHERE id =\''.$_GET['id'].'';
Offline Simax - 17/04/2008 11:37 (laatste wijziging 17/04/2008 11:38)
Avatar van Simax Onbekend Probeer dit eens..
  1. $query = "UPDATE enquete SET '".$_GET["pid"]."' = '".$_GET["antwoord"]."' WHERE id = '".$_GET["id"]."'";
Offline thomasje - 17/04/2008 12:17
Avatar van thomasje MySQL beginner Nee werkt nog niet
In ienegeval wel bedankt voor de reacties, maar ik hoop dat iemand nog wat anders weet
Offline Simax - 17/04/2008 12:44
Avatar van Simax Onbekend En dit..
  1. $query = "UPDATE enquete SET {$_GET["pid"]} = {$_GET["antwoord"]} WHERE id = {$_GET["id"]}";
Offline thomasje - 17/04/2008 13:00
Avatar van thomasje MySQL beginner nee werkt ook niet.
Offline Simax - 17/04/2008 13:02
Avatar van Simax Onbekend Is het dan uberhaupt wel mogelijk een willekeurig veld te updaten?
Hoeveel waardes/opties heeft de variabele $_GET["pid"]?
Offline thomasje - 17/04/2008 13:05
Avatar van thomasje MySQL beginner 34 opties, maar in mijn db heb ik ook 34 aparte kolommen voor.
Offline Simax - 17/04/2008 13:07 (laatste wijziging 17/04/2008 13:07)
Avatar van Simax Onbekend Onder welk veld(in je tabel, database) vallen die kolommen?
Offline thomasje - 17/04/2008 13:10 (laatste wijziging 17/04/2008 13:14)
Avatar van thomasje MySQL beginner ik heb ze allemaal nummers gegeven
dus

id 1 2 3 4 5 6 7 8 enz.

en als ze mensen dan ergens op klikken komen ze met de url naar de "teller" pagina toe en dan wil ik dus dat ze daar geupdate worden. Als ze beginnen met de enquete krijgen ze eerst een id mee, zodat elke keer 1 iemand in een rij zit en daar zijn meningen worden opgeslagen.


Kan het ook niet wezen dat je bij de eerste keer insert alle velden moet slecteren en dan niks er inzetten?
Offline Kr4nKz1n - 17/04/2008 13:47
Avatar van Kr4nKz1n Onbekend Drop je database tabellen even.

Is het een stuk makkelijker
Offline thomasje - 17/04/2008 13:52
Avatar van thomasje MySQL beginner http://www.plaatscode.be/7198/
Ik hoop inderddad dat je me nu meer kan vertellen hoe ik het kan oplossen
Offline Kr4nKz1n - 17/04/2008 14:00
Avatar van Kr4nKz1n Onbekend Leg eens uit wat het systeem moet doen. Want ik denk dat het veel makkelijker kan.
Zo`n systeem met absurd veel velden (1 t/m 44) is onzinnig.
Offline thomasje - 17/04/2008 14:25
Avatar van thomasje MySQL beginner Nou mensen geven dus hu mening, en als ze op ja klikken krijgen ze weer een andere vraag dan dat ze op nee klikken. De mensen krijgen zelf maar iets van 10 tot 20 vragen te zien. Maar dit is perpersoon anders.

Maar is er nu geen oplossing om dat spul te updaten?
Ik ben blij dat je mee probeert te denken maar ik kan er niet goed tegen dat dat update geval gewoon weigert.
Offline Kr4nKz1n - 17/04/2008 15:17
Avatar van Kr4nKz1n Onbekend Opgelost.

Wat ik al eerder dacht. Veldnamen mogen niet nummeriek zijn of beginnen met een nummer.
Offline Simax - 17/04/2008 16:48
Avatar van Simax Onbekend @Kr4nKz1n,
Klopt helemaal, had ik nie aan gedacht .

@thomasje,
Maar velden aan van 'nummer1', 'nummer2', enz.
Offline thomasje - 17/04/2008 17:02
Avatar van thomasje MySQL beginner ja allemaal bedankt voor de reacties.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.257s