IF-ABFRAGE in Implode-Funktion

messmar

Erfahrenes Mitglied
Hallo zusammen,

ich muss in einer Implode-Funktion etwas abfragen:

echo implode("<td align='center'>", $row)."</td>";

Hat jemand eine Idee, wie sich das verwiklichen lässt.

Vielen Dank, Amin
 
In einer Tabelle (MySql 3.23.32) habe ich Binary-Bilder gespeichert und zwar in der zweiten Spalte. Diese Bilder will ich im Browser ausgeben bzw. anzeigen lassen. Dafür muss ich in dem TD-TAG das IMG-TAG reinschreiben, aber nur in dem TD wo das Bild eingebunden wird. In den Anderen muss das TD-TAG ganz normal dargestellt wird.

Gruß, amin
 
Mmmh...das hört sich aber verworren an....ca so:
Code:
echo implode(($bildDa)?'<td align="center"><img src="bild.gif">':'<td align="center">', $row).'</td>';
 
So einfach ist es nicht ;-(

Ich muss eine Zählvariable hierher nehmen, und abfrage, ob der Zeiger in der zweiten Spalte
steht bzw. == 1, dann soll mir die Implode das IMG-TAG schreiben sonst schreibt die funktion
das normale TD-TAG ohne IMG.

Danke, amin
 
Kannst Du hier den Fehler sehen. Dieser Code gibt mir nicht das gewünschte Ergebniss.

$data = "SELECT * FROM images";
$query1 = @mysql_query($data, $db);
$RowNum2 = mysql_num_rows($query1);
$FieldNum2 = mysql_num_fields($query1);
while ($row = mysql_fetch_array($query1, MYSQL_ASSOC))
{
echo("<tr bgcolor='#c0c0c0'><td align='center'>");
for ($m = 1; $m <= $FieldNum2; $m++)
{
if ($m == 2)
{
echo implode("</td><td align='center'><img src='../php/getdata.php?image_ID=hierdieNR align='middle'>", $row)."</td>";
}
else
{
echo implode("<td align='center'>", $row)."</td>";
}
}
}
echo("</tr>");
 
Du implodest das Ergebnis und gibst das aus... willst du etwa das binäre Wirrwar in der Seite ausgeben?
Was genau soll in der HTML-Tabelle alles erscheinen(ausser dem Bild)?
Könntest du bitte mal die Struktur der MySql-Tabelle posten?!
 
Feld Typ Attribute Null Standard Extra
____________________________________________________________________________

image_ID int(4) Nein auto_increment
bin_data longblob BINARY Ja NULL
filename varchar(50) Ja NULL
filesize varchar(50) Ja NULL
filetype varchar(50) Ja NULL
 
Ich weiss zwar immer noch nicht, was genau du in der Tabelle ausgeben willst, aber mit dem implode()'n wirds sicher nix....
Das hier gibt dir bspw. den Inhalt der Datensätze(exclusive des Binärfeldes, inclusive des <img>-Tags) aus:
Code:
<table border="1">
<?php
$sql   = "SELECT image_ID,filename,filesize,filetype FROM images";
$query = @mysql_query($sql, $db);

while($row = mysql_fetch_array($query, MYSQL_ASSOC))
    {
        echo("\n<tr bgcolor=\"#c0c0c0\">");
        
        foreach($row as $key => $value)
            {
                echo '<td align="center">';
                
                echo ( $key == 'image_ID')
                            ? '<img src="../php/getdata.php?image_ID='.$value.'" align="middle">'
                            : $value;
                
                echo '</td>';
            }
        
        echo('</tr>');
    }
?>
</table>
 
Zurück