info uit verschillende tables halen in mijn database??

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruud bos

Ruud bos

16/06/2011 09:28:35
Quote Anchor link
Hallo,

Ik ben in het bezit van een script van een watch series site.

Ik wil nu de laatst 20 toegevoegde episodes uit de database halen. Dit is geen probleem.

Het probleem is, in mijn episodes table in de database heb ik een series veld. De waarde hiervan is een id.
Ik heb een aparte series table die ook een id veld heeft, maar ook een serie name veld.

Nu wil ik de laatste 20 episodes uit mijn episodes table halen, maar ik krijg dan natuurlijk als serie naam een getal te zien.

Nu wil ik een if functie gebruiken om toch de naam van die serie te krijgen inplaats van het id.

Ik maak gebruik van deze code:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php        
            $sql
= "SELECT *
            FROM   episodes
            ORDER BY id
            DESC LIMIT 20"
;        

    $result = mysql_query($sql);
    
    $season = array();
    
    while($row = mysql_fetch_assoc($result))
    {

    
if($row2['series'] == 'id')
        {

            $seriesid = $row['name'];
            
            $sql2 = "SELECT *
            FROM   series
            WHERE id = $seriesid"
;
    
            $result2 = mysql_query($sql2);
            $row = mysql_fetch_assoc($result2);
                }

        

    echo '
        '
. $row['series'] . ' Season ' . $row['season'] . ' Episode ' . $row['episode'] . ': ' . $row['name'] . '
        
        </br>'
;

        
        }

?>


Ik ben er van bewust dat dit niet gaat werken. Heeft iemand misschien een oplossing of een ander idee?

Thanks! Ruud
 
PHP hulp

PHP hulp

05/05/2024 17:38:14
 
Rick van Riel

Rick van Riel

16/06/2011 10:14:08
Quote Anchor link
Hallo Ruud,

Bekijk deze link is:
http://dev.mysql.com/doc/refman/5.0/en/join.html

Hier zit de "inner join" functie tussen. Deze kan gebruikt worden om uit 2 tabellen informatie te halen waar bijv. 2 id's gelijk aan elkaar zijn.

Hoop dat je er iets aan hebt.

Rick
 
Ruud bos

Ruud bos

16/06/2011 10:39:40
Quote Anchor link
Moet ik dan aan zoiets denken?

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
17
18
19
20
<?php        
            $sql
= "SELECT *
            FROM   episodes INNER JOIN series ON episodes.series=series.id
            ORDER BY id
            DESC LIMIT 20"
;        


    $result = mysql_query($sql);
    
        while($row = mysql_fetch_assoc($result))
    {

    
        echo '
        '
. $row['series'] . ' Season ' . $row['season'] . ' Episode ' . $row['episode'] . ': ' . $row['name'] . '
        
        </br>'
;

        
        }

?>



Dan krijg ik namelijk deze error: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/trebo/public_html/temp/index.php on line 218

Heel erg bedankt voor je hulp!
Gewijzigd op 16/06/2011 10:40:02 door Ruud bos
 
- Ariën  -
Beheerder

- Ariën -

16/06/2011 10:42:01
Quote Anchor link
Je mist foutafhandeling in je mysql_query.
Bovendien gebruik je nooit * in een query, en zeker niet bij het gebruik van JOINS. In combinatie met dubbele veldnamen kan dit leuke foutmeldingen opleveren die je in mysql_error() terug kan vinden.
Gewijzigd op 16/06/2011 10:43:06 door - Ariën -
 
Ruud bos

Ruud bos

16/06/2011 16:52:15
Quote Anchor link
Oke thanks.

Heb de * verwijderd, maar blijf de foutmelding krijgen.
 
- SanThe -

- SanThe -

16/06/2011 17:32:00
Quote Anchor link
- Aar - op 16/06/2011 10:42:01:
Je mist foutafhandeling in je mysql_query.


Bouw dit eerst eens in. Dan ga je zien wat de fout is.
 
Victor -

Victor -

16/06/2011 20:38:24
Quote Anchor link
als je de asterisk (*) verwijdert, moet je wel alle kolomnamen specificeren;)
 
Ruud bos

Ruud bos

17/06/2011 16:46:06
Quote Anchor link
ok thanks voor de replies!

Ben nog niet echt verder gekomen, want hij blijft een error geven en ik weet ook niet of ik de INNER JOIN functie wel goed gebruik.

Ik ben een php newbie en probeer het te leren, maar dit is iets te hoog gegrepen denk ik.

Iemand nog tips?
 
Gerhard l

gerhard l

17/06/2011 20:44:29
Quote Anchor link
- SanThe - op 16/06/2011 17:32:00:
- Aar - op 16/06/2011 10:42:01:
Je mist foutafhandeling in je mysql_query.


Bouw dit eerst eens in. Dan ga je zien wat de fout is.
 

17/06/2011 20:47:17
Quote Anchor link
Apart dat er in de tabel episodes een veld series zit.
 



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.