Waarde bij een join

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.260
Hoi,

Ik heb volgende

PHP:
LEFT JOIN `me_pictures` ON me_events.id = me_pictures.eventid

PHP:
$id = ($row['id']);

Ik krijg van $id niet altijd een waarde terug omdat bijv. id 12
wel in table me_events aanwezig is , maar niet in table me_pictures

Is hier een oplossing voor?
 
Dat hangt er vanaf welk waardes je selecteert. Het feit dat je het vraagt wekt de indruk dat je zoiets hebt als dit:[sql]SELECT me_pictures.eventid AS id[/sql] Wil je altijd een waarde hebben gebruik dan [sql]SELECT me_events.id AS id[/sql] Mocht dat niet de oplossing zijn plaats dan iets meer van je code, dat maakt het makkelijker om mee te denken.
 
Bedankt voor reactie

Verkort voorbeeld:

id fromDate ... ...
2 2015-03-03
3 2015-03-05
4 2015-03-06
5 2015-03-07
6 2015-03-06
Table me_pictures

eventid image ... ...
2 test.jpg
4 test3.jpg


PHP:
$result= $mysqli->query("SELECT *,
FROM `me_events` 
LEFT JOIN `me_pictures` ON me_events.id = me_pictures.eventid
");

PHP:
$id = stripslashes($row['id']);

$id geeft nou 2 en 4 logischerwijs
maar wil 2,3,4,5,6
 
Bevat de tabel me_pictures toevallig ook een kolom ID? Het lijkt erop dat ID uit me_pictures gehaald wordt in plaats van uit me_events. Het veiligste is om in plaats van een SELECT * expliciet de kolommen te noemen die je nodig hebt. Je zou nog het volledige resultaat van de query kunnen plaatsen, wellicht is daar nog uit af te leiden wat er precies mis gaat.

PHP:
$result= $mysqli->query("SELECT me_events.id, me_events.fromDate, me_pictures.image
FROM `me_events` 
LEFT JOIN `me_pictures` ON me_events.id = me_pictures.eventid
");
 
PHP:
$result= $mysqli->query("SELECT *,
FROM `me_events` 
LEFT JOIN `me_pictures` ON me_events.id = me_pictures.eventid
");

PHP:
 <?php while ($row = $result->fetch_array())
	{								
				$id = stripslashes($row['id']);			

?>

echo $id

uitkomst 2 en 4 (van) me_pictures.eventid

bevat me_pictures geen afbeelding dan blijft $id leeg nu, omdat id nu me_events.id is, omdat die ook alleen worden geselcteerd

klopt me_pictures heeft ook een rij ID , maar die doet er volgens mij niet toe hier.


id fromDate ... ...
2 2015-03-03
3 2015-03-05
4 2015-03-06
5 2015-03-07
6 2015-03-06
Table me_pictures

id eventid image ... ...
1 2 test.jpg
2 4 test3.jpg



dat betekend dus dat id soms leeg is

Code:
 <div id="" >
 
Laatst bewerkt:
Als me_pictures.ID er niet toe doet, waarom haal je deze dan uit de database? Je resultaat heeft nu 2 kolommen de ID heten en je loopt daarmee alleen maar het risico dat in php de verkeerde gebruikt wordt. Vandaar mijn suggestie om alleen die kolommen in de select op te nemen die je echt nodig hebt. Misschien kun je het eens proberen om het verschil te zien?
 
Als me_pictures.ID er niet toe doet, waarom haal je deze dan uit de database? Je resultaat heeft nu 2 kolommen de ID heten en je loopt daarmee alleen maar het risico dat in php de verkeerde gebruikt wordt. Vandaar mijn suggestie om alleen die kolommen in de select op te nemen die je echt nodig hebt. Misschien kun je het eens proberen om het verschil te zien?

Er staat in mijn post
klopt me_pictures heeft ook een rij ID , maar die doet er volgens mij niet toe hier.

Ik haal me_pictures eventid op niet me_pictures id

PHP:
LEFT JOIN `me_pictures` ON me_events.id = me_pictures.eventid


Ik zal eens selecteren gaan.

Edit hoe selecteer ik alleen de eventid in me_pictures ?

LEFT JOIN `me_pictures` ON me_events.id = me_pictures.eventid
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan