mehrere Tabellen und Mehrdimensionales Array

hanswurst23

Grünschnabel
Hallo an alle,

ich habe ein sehr großes Problem das ich nicht selbst gelöst bekomme. Ich habe eine unaufdringliche Formvalidierung mit Php, Js, und MySql, die Validierung klappt aber ich finde keinen Weg die Daten aus dem Formular in mehrere Tabellen zu verteilen. Ich weiss findet man genug im I-Net, aber entweder bin ich noch zu grün hinter den Ohren oder schlicht und einfach zu doof.

Um auf der Startseite mehrere Container die Sortierbar sind zu laden benutze ich folgendes:
Ich zeige nur Teile der scripte, wär sonst zu viel...
load.php: (include in index)

...

$query = 'select * from user order by ranking';
$result = mysql_query($query);
$macher = array();
while ($row = mysql_fetch_object($result)) {
$macher[$row->id] = array( 'gender' => $row->gender,
'name' => $row->name,
'vorname' => $row->vorname,
'firma' => $row->firma);
}

auslesen in Startseite index.php:

<?php foreach ($macher as $macher_id => $macher) { ?>
<div id="macher_<?= $macher_id ?>" class="macher_box">
<div class="inner_box">
<div class="macher_simulette_<?= $macher['gender'] ?>"></div>
<div class="macher_vorname"><b><i><?= $macher['vorname'] ?></i></b></div>
<div class="macher_nachname"><b><i><?= $macher['name'] ?></i></b></div>
<div class="macher_firma"><?= $macher['firma']?></div>
</div>
</div>
<?php } ?>

soweit so gut. Das geht alles.

Jetzt hab ich aber noch eine weitere Tabelle aus der ich weitere Daten (Firma, Anschrift uws.) auslesen möchte und ebenfalls mit in den div Block ('inner_box') anzeigen will.
Ich habe bereits join, inner join, union probiert bekomme es aber nicht hin das aus t1 (user) die Daten (name, vorname, gender) und aus t2 die Daten (firma, anschrift usw) geladen werden.

Ich muss aus einer DB mit mehreren Tabellen diese Sortierbaren Container erstellen. Es müssen alle "user" aus der User Tabelle angezeigt werden, sortierbar sein, sowie die dazu gehörigen Firmen Daten in dem Container angezeigt werden und neue pos in Db speichern.

Bin über jede hilfe dankbar hab zu wenig Erfahrung bzw Praxis mit mySQL

Danke
 
Hallo hanswurst23,

Du hast ja echt schön viele informationen gegeben. Aber leider nicht die nötigen:rolleyes:.

Es würde schon weiterhelfen, wenn Du die Struktur der 2 Tabellen, die Du benötigst angeben würdest.

Aus der Hüfte geschossen, würde ich sagen, dass ein left join genau das richtige ist.

Code:
select  u.id, u.gender, u.name, u.vorname, f.firma, usw
from user u left join firma f on u.firma_id=f.firma_id
where 1
order by u.ranking
Hierbei gehe ich davon aus, dass user einen Eintrag namens firma_id hat.
 

Neue Beiträge

Zurück