login  Naam:   Wachtwoord: 
Registreer je!
 Forum

tabel verbinden met andere tabel

Offline jeffreydv - 30/10/2005 17:32
Avatar van jeffreydvHTML beginner hoe moet ik 2 tabellen in mijn database verbinden met elkaar?

ik heb bijv. dit:
  1. <?php
  2. $sql = "SELECT * FROM cabaret ORDER BY naam ASC";
  3. $query = mysql_query($sql) or die("<b>Foutje:</b><br>".mysql_error());
  4.  
  5. while( $show = mysql_fetch_object( $query ) ) {
  6.  
  7. echo "$show->naam<Br>";
  8. }
  9. ?>


hij haalt de gegevens uit "cabaret"
in die tabel staan dan namen van cabaretiers.
maar, als ik nu op 1 van de cabaretier klik. wil ik dat de bezoekers dan een lijst met fragmenten tezien krijgen van die cabaretier.

dus ik geloof dat je dan 2 tabellen nodig hebt?
maar hoe?

alvast bedankt 

13 antwoorden

Gesponsorde links
Offline Stijn - 30/10/2005 17:56
Avatar van Stijn PHP expert je hebt je tabel 'cabaret', je geeft die een ID (primary key). Stel je maakt een lijst van alle cabarets:
  1. <?
  2. include("dbconnect.php");
  3.  
  4. $sql = "SELECT * FROM cabaret ORDER BY naam ASC";
  5. $query = mysql_query($sql) or die("<b>Foutje:</b><br>".mysql_error());
  6.  
  7. while( $show = mysql_fetch_object( $query ) )
  8. {
  9. ?>
  10. <a href="fragment.php?id=<?php echo $show->id; ?>"><?php echo $show->naam; ?></a><br>
  11. <?
  12. }
  13. ?>


Als men op een naam klikt gaat men naar fragment.php. Deze heeft een ID mee in de URL (die van de tabel )

je maakt een nieuwe tabel aan: fragment. Je geeft die vooral eerst die 2 velden: ID en cab_id. cab_id is de ID van de tabel cabaret. Dus wat doe je in je code:

  1. <?
  2. include("dbconnect.php");
  3.  
  4. $sql = "SELECT * FROM fragment WHERE cab_id='".$_GET['id']."'";
  5. $query = mysql_query($sql) or die("<b>Foutje:</b><br>".mysql_error());
  6.  
  7. while($show = mysql_fetch_object( $query ) )
  8. {
  9. echo $show->fragment."<br>";
  10. }
  11. ?>


snappie? 
Offline Ibrahim - 30/10/2005 17:58 (laatste wijziging 30/10/2005 17:59)
Avatar van Ibrahim PHP expert haal vars buiten quotes... en je kunt gewoon in een tabel een link naar de fragment toe opslaan en dan echoen. Dus je hebt maar een tabel nodig en je hoeft ASC perse bij te doen dat is al automatisch ASC en gebruik assoc is veel sneller dan object

  1. <?php
  2. $sql = "SELECT * FROM cabaret ORDER BY naam";
  3. $query = mysql_query($sql) or die("<b>Foutje:</b><br>".mysql_error());
  4.  
  5. while( $show = mysql_fetch_assoc( $query ) ) {
  6.  
  7. echo '<a href="'.$show['link'].'">'.$show['naam'].'<Br />';
  8. }
  9. ?>


edit: wat stijn doet kan ook 
Offline jeffreydv - 30/10/2005 18:35 (laatste wijziging 30/10/2005 18:53)
Avatar van jeffreydv HTML beginner ff kijke of ik eruit kom 

iig bedankt 


Hoe maak je nu een admin? een admin waarmee je cabaretiers kan toevoegen en ook fragmenten kunt toevoegen...

alvast bedankt
Offline Rens - 30/10/2005 18:54
Avatar van Rens Gouden medaille

Crew algemeen
Met een ledensysteem kan dat.
Offline jeffreydv - 30/10/2005 19:31
Avatar van jeffreydv HTML beginner dat begrijp ik niet helemaal...
Offline Rens - 30/10/2005 19:39
Avatar van Rens Gouden medaille

Crew algemeen
Met een ledensysteem kun je leden aanmaken (duh) en je kunt dan verschillende levels instellen per lid.
Zo kun je dus, net als hier, een medewerker, admin, super-admin, beheerder e.d. krijgen.
Offline jeffreydv - 30/10/2005 19:47 (laatste wijziging 30/10/2005 19:47)
Avatar van jeffreydv HTML beginner daar gaat dit niet over...

khbe een ledensysteem... maar dat was neit egt mijn vraag 
Offline Rens - 30/10/2005 19:50
Avatar van Rens Gouden medaille

Crew algemeen
Neej, maar als je een ledensysteem hebt is het simpel om er een admin bij te maken?
Gewoon een extra veldje in je tabel aanmaken genaamd "level".
Het level zet je bij inloggen in de sessie, en dan kun je simpel controleren of het wel/geen admin is.

Voorbeeld:
  1. <?PHP
  2. if(!IsSet($_SESSION['level']) || !Is_Numeric($_SESSION['level']))
  3. {
  4. // niet ingelogd
  5. } else
  6. {
  7. // wel ingelogd
  8. if($_SESSION['level'] == 0)
  9. {
  10. // het is een lid
  11. } else if($_SESSION['level'] == 1)
  12. {
  13. // het is een admin
  14. }
  15. }
  16. ?>


Snappen?:)
Offline jeffreydv - 30/10/2005 20:00 (laatste wijziging 30/10/2005 20:01)
Avatar van jeffreydv HTML beginner maar wat heeft dit met een ledensysteem te maken? ik hbe een admin bij mij ledensysteem...

en wat jij zegt: Zo kun je dus, net als hier, een medewerker, admin, super-admin, beheerder e.d. krijgen.

dat wil ik helemaal niet...

ik wil een admin bij dat wat ik in mijn eerste post allemaal heb uitgelegd.

ik heb dus 2 tabellen die met elkaar in verbinding staan.. en als ik dus een fragment toevoeg, moete de ID van de tabel "cabaret" overeen komen met de id_cab van de tabel "fragment"

(zoiets )

ik geloof dat ik et zelf ook niet meer begrijp...
Offline Rens - 30/10/2005 20:04
Avatar van Rens Gouden medaille

Crew algemeen
Jah, nou, dan heb je ut toch?
Gewoon checken op je cabaret-toevoeg-script of de gebruiker/bezoeker een admin is uit je ledensysteem.
Dat is toch wat je wilt?
Offline jeffreydv - 30/10/2005 20:08
Avatar van jeffreydv HTML beginner ja, maar ik hbe dus nog geen cabaret-toevoeg-script 
et toevoegen van gegevens in de tabel "cabaret" is niet zo moeilijk.
maar in de tabel "fragment" hbe ik dus te maken met "id" en "id_cab".

als je een fragment toevoegt gaat et id vanzelf... maar hoe moet je dat doen met id_cab..

ik hoop dat iemand et begrijpt..
Offline Fenrir - 30/10/2005 20:22 (laatste wijziging 30/10/2005 20:29)
Avatar van Fenrir PHP expert Dan zet je net als bij de fragment-pagina het id van de cabaretier in de url en dan zet je dat in je query.
Offline jeffreydv - 30/10/2005 20:25
Avatar van jeffreydv HTML beginner ohja..  ff kijke of et lukt..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s