Ermittlung von mehreren ID's in einer Tabelle

Kalito

Erfahrenes Mitglied
Hallo

ich schreibe gerade an einem Schulungsplanungsprogramm und steh gerade auf dem Schlauch.
Kurz zur Codeerklärung. Eine Schulung kann über mehrere Einheiten, Slots genannt, gehen. Da die Schulung theoretisch nicht in einem Raum stattfinden muss, wird es in soviele Teile untergliedert, wie es Slots belegt. Jedes Teil hat seine eigene ID.

PHP:
<form method="post">
<div id="ablage" class="drop ui-droppable"><b>Ablage</b>
<?php
    foreach($dataarray['training'] as $training){
        //Wenn die Schulung noch nicht Raum und Slot zugeordnet wurde
        if(!$training['RoomsSlotsTraining']){
            for($i=0; $i<$training['Training']['slot_laenge']; $i++){
                $teil = ($training['Training']['slot_laenge'] > 1) ? " Teil ".($i+1) :"";
                echo '<div id="training'.$training['Training']['id'].'-'.($i+1).'" class="drag">
                    <b>'.$training['Training']['name'].$teil.'</b>
                  </div>';
            }
        }
    }
?>
</div>

Im zweiten DIV habe ich eine Tabelle, wo die Spalten die Slots und die Zeilen die Räume darstellt. Ich kann jetzt per Drag and Drop die Schulungsteile in die Tabelle ziehen. Leider weiß ich gerade nicht, wie ich dann bei der Speicherung die Zusammenhänge in die DB speichern kann. Sprich die Zuordnung der Training-ID zu der Raum-ID und Slot-ID.
Auch wenn ich schon Beziehungen gespeichert habe, schaffe ich es nicht das sie in der Tabelle angezeigt werden.

PHP:
<div>
    <table>
        <?php for($i=0; $i<((count($dataarray['rooms']))+1);$i++):?>
        <tr>
            <?php
                for($j=0;$j<(count($dataarray['slots'])+1);$j++){
                    if($i==0){
                        echo ($j==0)?"<th>Raum/Slot</th>":"<th>".$dataarray['slots'][$j-1]['Slot']['name']."</th>";
                    }
                    else{
                        echo ($j==0)
                        ?"<td>".$dataarray['rooms'][$i-1]['Room']['name']."</td>"
                        :'<td id="slot'.$dataarray['slots'][$j-1]['Slot']['id'].'" class="slot slot'.$dataarray['slots'][$j-1]['Slot']['id'].'" >
                            <div id="'.$dataarray['slots'][$j-1]['Slot']['id'].'-'.$dataarray['rooms'][$i-1]['Room']['id'].'" class="drop"></div>
                         </td>';
                    }
                }
            ?>
        </tr>
        <?php endfor;?>
    </table>
</div>

<div id="antwort"></div>
<input type="submit" value="Speichern" />
</form>
Danke und Gruß, Kalito
 
PHP:
array(
	'training' => array(
		(int) 0 => array(
			'Training' => array(
				'id' => '12',
				'created' => '2012-09-24',
				'modified' => '2012-09-23',
				'name' => 'Testschulung1',
				'beschreibung' => 'Eine Testschulung',
				'user_id' => '1',
				'slot_laenge' => '2',
				'training_form_id' => '3',
				'training_typ_id' => '2',
				'plaetze' => '15',
				'day_id' => '1'
			),
			'User' => array(
				'password' => '*****',
				'id' => '1',
				'created' => '2012-05-05',
				'modified' => '2012-09-22',
				'username' => 'kalito',
				'salutation' => 'Herr',
				'firstname' => '**',
				'lastname' => '**',
				'organisation_id' => '1',
				'position_organisation' => 'Ressortleiter IT',
				'email' => '****',
				'email_jcn' => '****',
				'telefon' => '',
				'session' => '6b453b1ea19e501511167fdb48913837'
			),
			'TrainingTyp' => array(
				'id' => '2',
				'created' => '2012-09-22',
				'modified' => '2012-09-22',
				'name' => 'Finanzen und Recht',
				'color' => '#FFFF00'
			),
			'TrainingForm' => array(
				'id' => '3',
				'created' => '2012-09-22',
				'modified' => '2012-09-22',
				'name' => 'Intern mit Voranmeldung'
			),
			'RoomsSlotsTraining' => array()
		),
		(int) 1 => array(
			'Training' => array(
				'id' => '13',
				'created' => '2012-09-23',
				'modified' => '2012-09-23',
				'name' => 'TestSchulung2',
				'beschreibung' => 'Dies ist eine Testschulung zum testen des Anlegeformumalr',
				'user_id' => '1',
				'slot_laenge' => '1',
				'training_form_id' => '1',
				'training_typ_id' => '1',
				'plaetze' => null,
				'day_id' => '1'
			),
			'User' => array(
				'password' => '*****',
				'id' => '1',
				'created' => '2012-05-05',
				'modified' => '2012-09-22',
				'username' => 'kalito',
				'salutation' => 'Herr',
				'firstname' => '*****',
				'lastname' => '*****',
				'organisation_id' => '1',
				'position_organisation' => 'Ressortleiter IT',
				'email' => '*****',
				'email_jcn' => '*****',
				'telefon' => '',
				'session' => '6b453b1ea19e501511167fdb48913837'
			),
			'TrainingTyp' => array(
				'id' => '1',
				'created' => '2012-09-22',
				'modified' => '2012-09-22',
				'name' => 'QM',
				'color' => '#FF00FF'
			),
			'TrainingForm' => array(
				'id' => '1',
				'created' => '2012-09-22',
				'modified' => '2012-09-22',
				'name' => 'Extern mit Voranmeldung'
			),
			'RoomsSlotsTraining' => array(
				(int) 0 => array(
					'id' => '179',
					'created' => '0000-00-00',
					'modified' => '0000-00-00',
					'room_id' => '1',
					'slot_id' => '1',
					'training_id' => '13'
				)
			)
		)
	),
	'rooms' => array(
		(int) 0 => array(
			'Room' => array(
				'id' => '1',
				'created' => '2012-05-17',
				'modified' => '2012-06-23',
				'name' => 'test raum1',
				'gebaude' => 'test gebäude',
				'day_id' => '1'
			)
		),
		(int) 1 => array(
			'Room' => array(
				'id' => '2',
				'created' => '2012-05-17',
				'modified' => '2012-06-23',
				'name' => 'test raum1',
				'gebaude' => 'test gebäude',
				'day_id' => '1'
			)
		)
	),
	'slots' => array(
		(int) 0 => array(
			'Slot' => array(
				'id' => '1',
				'created' => '2012-05-17',
				'modified' => '2012-05-17',
				'name' => 'test slot 1',
				'tag' => '2013-05-22',
				'start' => '12:00:00',
				'ende' => '13:30:00',
				'day_id' => '1'
			)
		),
		(int) 1 => array(
			'Slot' => array(
				'id' => '2',
				'created' => '2012-05-17',
				'modified' => '2012-05-17',
				'name' => 'test slot 2',
				'tag' => '2013-04-22',
				'start' => '14:00:00',
				'ende' => '15:30:00',
				'day_id' => '1'
			)
		),
		(int) 2 => array(
			'Slot' => array(
				'id' => '3',
				'created' => '2012-05-17',
				'modified' => '2012-05-17',
				'name' => 'test slot anderer tag',
				'tag' => '2013-04-22',
				'start' => '14:00:00',
				'ende' => '15:30:00',
				'day_id' => '1'
			)
		)
	)
)
 
Zurück