Versio

Join

Overzicht Reageren

Lauris K

Lauris K

21/10/2010 13:54:48
Quote Anchor link
Hallo,

Ben al een tijdje bezig met een join query schrijven maar het lukt me telkens niet.

Ik heb een tabel content hierin staat het veld postedby, deze bevat het id van de gene die de content heeft gepost.
Ik heb een tabel user hierin staat het veld id en het veld username.

Ik wil dus dat als ik $['postedby'] gebruik dat er niet het id van de persoon komt te staan, maar de username.

Kan iemand mij aangeven hoe ik dit doe, heb al wel geprobeerd met tutorials maar krijg telkens niet het juiste resultaat.
 
PHP hulp

PHP hulp

25/05/2012 00:36:23
Gesponsorde koppelingen:
 
Teun Hesseling

Teun Hesseling

21/10/2010 13:59:16
Quote Anchor link
select u.username from user AS u,content AS c where c.postedby = u.id and c.postedby = $postedby waarschijnlijk word het zoiets
Gewijzigd op 21/10/2010 14:01:54 door Teun Hesseling
 
Lauris K

Lauris K

21/10/2010 14:24:45
Quote Anchor link
ik kom er nog niet uit, zal de code ff bij plaatsen.

Ik heb deze code, hier moet dus een join in komen zodat er bij $Rij['postedby'] geen id komt te staan maar de username behorende bij dit id.


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
<h1>Nieuwsbericht</h1>


<?php
$Query
= "SELECT * FROM content  WHERE id = ".$_GET['id']." ORDER BY id DESC";
$Resultaat = mysqli_query($Connect, $Query);
$Aantal    = mysqli_num_rows($Resultaat);

if ( $Aantal == 0) {
    echo"Het Gekozen nieuwsbericht is niet gevonden.";
                   }

                  
else
{
while($Rij = mysqli_fetch_assoc ($Resultaat))
    {

?>

    <h2><?php echo $Rij['titel']?></h2> <small> <?php echo $Rij['postedby']?> | <?php echo $Rij['postdate']?> | <?php echo $Rij['posttime']?></small> <?php echo $Rij['description'];
    }
}

?>
Gewijzigd op 21/10/2010 14:29:58 door Lauris K
 
Teun Hesseling

Teun Hesseling

21/10/2010 14:41:02
Quote Anchor link
dat gaat zo natuurlijk niet werken aangezien je geen username selecteert van de tabel user
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $Query = "SELECT c,titel, c.postedby, c.postdate, c.postime, c.description u.username u.id FROM content AS c, user AS u WHERE u.id = ".$_GET['id']." AND u.id = c.id ORDER BY u.id DESC"; ?>

en dan de postedby veranderen naar username, ik weet niet of dit goed is, maar je kunt het zo proberen.
 
Robert Deiman

Robert Deiman

21/10/2010 15:19:35
Quote Anchor link
@Teun

Je mag de verschillende kolommen natuurlijk wel scheiden met een ,


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $Query = "SELECT c,titel, c.postedby, c.postdate, c.postime, c.description, u.username, u.id FROM content AS c LEFT JOIN user AS u ON u.id = c.user_id WHERE u.id = ".(int)$_GET['id']." ORDER BY u.id DESC"; ?>
 
Lauris K

Lauris K

21/10/2010 17:15:04
Quote Anchor link
Ik heb nu onderstaande code, ik krijg echter de melding die ik zelf heb ingesteld. het gekozen nieuwsbericht is niet gevonden, er zal dus wel iets fout zijn. c.user_id bestaat trouwens niet, het id van de content staat onder postedby. dus dit heb ik vervangen.

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
<?php
$Query
= "SELECT c.titel, c.postedby, c.postdate, c.posttime, c.description, u.username, u.id FROM content AS c LEFT JOIN user AS u ON u.id = c.postedby WHERE u.id = ".(int)$_GET['id']." ORDER BY u.id DESC";
//$Query = "SELECT * FROM content ORDER BY id DESC";
$Resultaat = mysqli_query($Connect, $Query);
$Aantal    = mysqli_num_rows($Resultaat);

if ( $Aantal == 0) {
    echo"Het Gekozen nieuwsbericht is niet gevonden.";
                   }

                  
else
{
while($Rij = mysqli_fetch_assoc ($Resultaat))
    {

?>

    <h2><?php echo $Rij['titel']?></h2> <small> <?php echo $Rij['username']?> | <?php echo longdate($Rij['postdate'])?> | <?php echo $Rij['posttime']?></small> <?php echo $Rij['description'];
    }
}

?>
 



Overzicht Reageren