login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Data uit 2 verschillende tabellen

Offline zarko - 08/05/2006 18:48
Avatar van zarkoNieuw lid Op een pagina vorm ik een URL de naam ervan haal ik uit tabel 'scheidsrechters' de id met de naam 'sid' haal ik uit de tabel 'scheidsrechters_info'.

In beide tabellen staan verschillende data.

Ik zie de namen ervan wel alleen de url dat ik wil voremen met het id ('sid') waarin de verwijzing naar de scheidsrechter voor uitvoerige informatie over hem staat werkt niet, althans het id ('sid') wordt niet weergegeven.

Het gaat hierbij om deze pagina: http://www.wkdu...dsrechters


  1. <?
  2. $query = mysql_query("SELECT * FROM scheidsrechters ORDER BY zone ASC");
  3. while($list = mysql_fetch_object($query)) {
  4. $kleur = ($i++ % 2) ? "$kleur1" : "$kleur2";
  5.  
  6. $query2 = mysql_query("SELECT * FROM scheidsrechters_info");
  7. $list2 = mysql_fetch_object($query2);
  8. $sid = "".$list2->sid."";
  9. $naam = "".$list->naam."";
  10. ?>


De URL vorm ik zo:
  1. <a href="index2.php?p=scheidsrechters-informatie&sid="<?=$sid?>""><?=$naam?></a>


Hoe krijg ik het nummer (sid) dat bij de scheidsrechter hoort?

16 antwoorden

Gesponsorde links
Offline Sitefoon - 08/05/2006 18:53
Avatar van Sitefoon Nieuw lid ="<?=$sid; ?>""><?=

staat in de tabel scheidsrechters 'sid';

want zo kun je aangeven dat die sid bij de scheidsrechter hoort

zodat je WHERE kunt gebruiken:
en daarboven heb je sid opgehaald uit de andere tabel

SELECT * FROM scheidsrechters WHERE sid=$id
Offline Stijn - 08/05/2006 18:54
Avatar van Stijn PHP expert hij neemt altijd ID 1 gebruik de WHERE in je 2e query

Verder zou ik dit aanpassen:

$sid = "".$list2->sid."";
$naam = "".$list->naam."";

=>

$sid = $list2->sid;
$naam = $list->naam;

groeten, stijn
Offline zarko - 08/05/2006 19:09 (laatste wijziging 08/05/2006 19:10)
Avatar van zarko Nieuw lid
Citaat:
staat in de tabel scheidsrechters 'sid';
Nee die staat in tabel 'scheidsrechters_info' omdat er al een naam is in de tabel 'scheidsrechters' met 'id' heb ik 't zo gedaan anders is 't beetje verwarrend.

Citaat:
gebruik de WHERE in je 2e query

Gedaan met: WHERE sid = '$_GET[sid]', maar nu geeft hij geen nummers meer weer, het is nu gewoon leeg als je langs de URL gaat.

Nog bedankt voor de tweede tip!;-)

Edit: wat typfoutjes!
Offline Ultimatum - 08/05/2006 19:15
Avatar van Ultimatum PHP expert doet hij het nu wel? want je moet geen $_GET in je WHERE gebruiken omdat je niks uit je url haalt maar uit je database, het moet dus een query zijn uit de database waar het id van de scheidsrechter staat
Offline Ibrahim - 08/05/2006 19:17
Avatar van Ibrahim PHP expert
  1. <?php
  2. $Query1 = mysql_query("SELECT * FROM tabel") or die("Query1 fout: <br />". mysql_error());
  3. $Fetchid = mysql_fetch_assoc ( $Query1 );
  4.  
  5. $Query2 = mysql_query("SELECT * FROM tabel2 WHERE id = '". $Fetchid['sid']."'") or die("Query2 fout: <br />". mysql_error());
  6.  
  7. $Fetchid2 = mysql_fetch_assoc( $Query2 );
  8. ?>

en de link:
<a href='index.php?sid=<?=$Fetchid2['id']?>'>Link</a>
Offline zarko - 08/05/2006 19:27
Avatar van zarko Nieuw lid @siliecom14, een fout:
Citaat:
query 2 fout:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'scheidsrechters_info WHERE id = ''' at line 1
Offline Ibrahim - 08/05/2006 19:29
Avatar van Ibrahim PHP expert eeh je moet het wel aanpassen aan je eigen tabel dus sid moet dus de idnummer veldnaam zijn van tabel1
Offline zarko - 08/05/2006 19:35 (laatste wijziging 08/05/2006 19:35)
Avatar van zarko Nieuw lid
Citaat:
query 2 fout:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'scheidsrechters_info WHERE sid = '3'' at line 1


Heeft deze fout ermee te maken omdat ik maar van twee scheidsrechters pas de uitgereide info heb geplaats?

Edit: m.a.w., moet ik nu voor elke scheidsrechter alle infor invoeren wil het goed werken?
Offline Ibrahim - 08/05/2006 19:36 (laatste wijziging 08/05/2006 19:46)
Avatar van Ibrahim PHP expert edit:

of je moet het in een while loop doen

  1. <?php
  2. $Query1 = mysql_query("SELECT * FROM tabel1") or die("Query1: <br />". mysql_error());
  3.  
  4. while( $Fetch1 = mysql_fetch_assoc( $Query1 ) )
  5. {
  6. $Query2 = mysql_query("SELECT * FROM tabel2 WHERE id = '". $Fetch1['id']."'") or die("Query2: <br />". mysql_error());
  7.  
  8. while( $Fetch2 = mysql_fetch_assoc( $Query2 ) )
  9. {
  10. echo '<a href="info.php?infoid='.$Fetch2['id'].'">'.$fetch1['naam'].'</a>';
  11. }
  12. }
  13. ?>


zo ongeveer en nu moet jij opletten op veiligheid enz en het uitbreiden en veranderen 
Offline zarko - 08/05/2006 19:44 (laatste wijziging 08/05/2006 19:44)
Avatar van zarko Nieuw lid Hmm... de fout blijft zich voordoen ondanks de while loop

  1. <?php
  2. $query1 = mysql_query("SELECT * FROM scheidsrechters ORDER BY zone ASC") or die("query 1 fout: <br />". mysql_error());
  3. while($fetchid = mysql_fetch_assoc ( $query1 )) {
  4. $kleur = ($i++ % 2) ? "$kleur1" : "$kleur2";
  5. $query2 = mysql_query("SELECT * scheidsrechters_info WHERE sid = '". $fetchid['id']."'") or die("query 2 fout: <br />". mysql_error());
  6.  
  7. $fetchid2 = mysql_fetch_assoc( $query2 );
  8.  
  9. $naam = $fetchid->naam;
  10. ?>


........Hier de HTML ed. .......

  1. <?
  2. }
  3. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2020 Sitemasters.be - Regels - Laadtijd: 0.168s