login  Naam:   Wachtwoord: 
Registreer je!
 Forum

extra gegeven DB in sturen

Offline endymion - 20/04/2005 10:47
Avatar van endymionLid Hoi. Ik krijg iets niet voor elkaar.
Ik heb in een tabel zeg maar 3 kolommen.

kolom 1 is het ID
kolom 2 is de naam van de deelnemer
kolom 3 is het nummer van een groep waar de deelnemer in zit.

nu heb ik een keuze menu in een formulier, waar je uit de namen van de deelnemers kan kiezen. Omdat ik niet de naam maar het ID van de deelnemer wil hebben, heb ik het menu'tje zo:
  1. <OPTION><?php echo $obj['ledenID']; ?> - <?php echo $obj['voornaam']; ?></OPTION>


dan krijg je dus:
1 - jan
2 - kees
enz..
en het ID word met het formulier mee gestuurd, niet de naam.

nu komt het, ik zou ook graag het nummer van het team in de database willen.
dus als jan in team 1 zit, wil ik dat ook het nummer 1 in de database komt. maar ik weet niet hoe.

nu heb ik op de pagina die de data in de DB zet:
  1. $ledenID=htmlspecialchars($_POST['ledenID'],ENT_QUOTES);


nu maakt hij de var $ledenID aan right?
dan zou ik hier onder een query kunnen maken?
als ik dit op de pagina erbij zet:

  1. $query2 = "SELECT teamnaam FROM leden WHERE ledenID = $lidnr";
  2. $resultaat2 = mysql_query($query2) or die (mysql_error());
  3. while($obj2 = mysql_fetch_array($resultaat2)){
  4. ?>
  5.  
  6. nummer is <?php echo $obj2['teamnaam']; ?> <? } ?>

teamnaam is gewoon het nummer van het team, en die wil ik met een echo nu alleen even op het scherm krijgen.

maar ik krijg een foutmelding als
You have an error in your SQL syntax near 'Jochemsen' at line 1
jochemsen is de naam waar ik het voor wou toevoegen.

kan iemand me helpen om ook het nummer in de database te krijgen?


hier de complete code van de pagina die uiteindelijk alles in de DB moet zetten.

  1. <?php
  2. include('dbconnect.php');
  3. $lidnr=htmlspecialchars($_POST['lidnr'],ENT_QUOTES);
  4. $query2 = "SELECT teamnaam FROM leden WHERE ledenID = $lidnr";
  5. $resultaat2 = mysql_query($query2) or die (mysql_error());
  6. while($obj2 = mysql_fetch_array($resultaat2)){
  7. ?>
  8.  
  9. nummer is <?php echo $obj2['teamnaam']; ?> <? } ?>
  10. <?php
  11. $plaatsnaam=htmlspecialchars($_POST['plaatsnaam'],ENT_QUOTES);
  12. $tijd=htmlspecialchars($_POST['tijd'],ENT_QUOTES);
  13. $query="INSERT INTO tijden (lidnr, plaatsnaam, tijd) VALUES('$lidnr', '$plaatsnaam', '$tijd')";
  14. $resultaat=mysql_query($query);
  15.  
  16. ?>
  17.  
  18. Klas is toegevoegt.<p>
  19. <input type="image" src="terug.jpg">





1 antwoord

Gesponsorde links
Offline Thomas - 20/04/2005 12:06
Avatar van Thomas Moderator De <option>-tag heeft een value-attribuut waarin je de waarde van je optie kunt zetten. Je moet dus het ID in je value-attribuut zetten, en de naam van de optie tussen de <option></option>-tags, dus als volgt:

  1. <option value="<?= $obj['ledenID'] ?>"><?= $obj['voornaam'] ?></option>


<?= ... ?> is een verkorte schrijfwijze voor <?php echo ...; ?>

Probeer het zo eens. Je MySQL error wordt waarschijnlijk veroorzaakt doordat je query een nummer verwacht (bij $lidnr), maar een tekst (zonder quotes eromheen, wat natuurlijk helemaal niet kan) heeft.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.219s