Hoi allemaal,

in de tool die ik aan het proberen bouwen ben, heb ik wel een veld of 30 waar keuzes uit materialen worden gemaakt. Deze keuzes komen elk in de tabel in een veld.

Als ik nu de "Edit" pagina wil vullen, dan moet ik per veld een nieuwe SQL lookup doen van de waarde van het veld in de tabel.

Dat betekent dat ik PER op te zoeken veld dus een $SQL commando moet uitvoeren en dat in een $row steken.

Kan dit niet op een betere manier ? Het gaat wel degelijk allemaal over aparte velden.

groetjes,

Davy
Erwin H op 23/10/2013 11:43:10

Voorbeeld:

SELECT...
FROM meubels a
LEFT JOIN materiaal b ON a.dekorzijdemat = b.id

En zo kan je voor elk onderdeel de join maken en alles in 1 query ophalen.


Erwin, ik heb eindelijk wat meer tijd gehad om dit verder te onderzoeken.

Hetgeen ik nu zelf had geimplementeerd, is dit :


<th><span id="red">*</span> Corpus materiaal : </th>
<td>&nbsp;</td>
<td>
<input id="corpusmateriaal" name="corpusmateriaal" value="<?php echo $meubelrow['kastcorpusmateriaal'];?>" readonly hidden>
<input type="button" class="openscherm" data-materiaaltype="3" data-field1="corpusmateriaal" data-field2="corpusmateriaalnaam" value="Kies materiaal">

<?php 
$sqlcorpmat = "SELECT * FROM materiaal WHERE ID='" . $meubelrow['kastcorpusmateriaal'] ."'";
$rescorpmat = $db->query($sqlcorpmat);
$rowcorpmat = $rescorpmat->fetch();
									$corpusmatomschr = $rowcorpmat['Benaming'] . " (dikte : " . $rowcorpmat['Dikte'] . " cm)";
?>

<input type="text" id="corpusmateriaalnaam" name="corpusmateriaalnaam" value="<?php echo $corpusmatomschr;?>" readonly size="100px">
</td>


Aangezien de LEFT JOIN ook moet gebeuren op basis van ELK veld apart, maakt dit volgens mij bijna geen verschil met mijn manier ? Of ben ik weer mis ? (shame)
Ten eerste 1 query met bijvoorbeeld 10 joins is nog altijd sneller dan 10 afzonderlijke queries. Dus ja dat maakt verschil.
Ten tweede zal jij in jouw database structuur inderdaad voor elk veld afzonderlijk de join moeten maken. Als je echter de database structuur overneemt zoals ik die heb gegeven is dat niet het geval. Per opdracht zal je de join moeten make naar de onderdelen tabel en naar de materialen tabel via de link tabel. Maar dus niet per onderdeel en per materiaal.

Reageren