Hallo
habe ein riesen Problem an dem ich einfach nicht Weiterkomme...
also habe eine Function:
PHP-Code:
/***************
* einen sql Query ausführen
* Beschreibung: nimmt eine sql SELECT Anfrage auf und gibt sie in einem Array[0....]['rowname'] zurück!
* bei einem Fehler wird die Meldung in dem Array["error" ] zurückgegeben
* Name: getSQL()
*
* @param $sql string sql SELECT Befehl
* @uses getConnection()
* @returns Array[][]
*/
function getSQL($sql= "0") {
$con=getConnection();
if ($sql== "0") {
$Wert= array("error" => "Sie haben keinen Wert übergeben");
return $Wert;
} else if (substr($sql,0,6) == "SELECT"){
$result=mysql_query($sql);
$daten=array();
while ($row = mysql_fetch_array($result)) {
$data[]= $row;
}
mysql_close($con);
return $data;
} else {
$Wert= array("error" => "Sie haben keinen SELECT query übergeben!");
return $Wert;
}
}
So Jetzt kommt mein query z.B. so:
PHP-Code:
$abfrage= "SELECT video.urlname, video.beschreibung, video.Datum,
videokategorie.Kategorie AS videokat
FROM video LEFT JOIN videokategorie
ON video.Kategorie = videokategorie.id
LIMIT 0,20";
jetzt möchte ich Diese Daten in eine Tabelle ausgeben:
PHP-Code:
$table= getSQL($abfrage);
echo"<table>";
foreach($table as $Reihe => $Werte) {
echo"<tr>\n <td>".($Reihe+1)."</td>\n";
foreach($Werte as $Key => $Wert){
echo"<td>".$Wert."</td>";
} //Ende innere Schleife
echo"</tr>";
} //Ende äussere Schleife
echo "</table>";
Die Tabelle die ich bekomme sieht aber so aus
Code:
<table>
//foreach Reihe
<tr>
<td> Reihe+1 </td>
<td> urlname </td>
<td> urlname </td>
<td> beschreibung </td>
<td> beschreibung </td>
<td> datum </td>
<td> datum </td>
<td> videokat </td>
<td> videokat </td>
</tr>
//ende
</table>
Wieso diese doppelten Einträge? was mache ich falsch?
ach ja... wie kann ich die $keys von $Werte einmal als Spaltenindex angeben, ohne sie vorher zu kennen?? Ist es möglich zwischen bestimmten Elementen der foreach schleife noch code Einzufügen etwa mit if ($key==urlname){??