2008-11-28 5 views
0

J'ai ce codeimage affichée ne peux pas la base de données en dehors de la table en php

<?php 
session_start(); 
if (isset($_GET["cmd"])) 
    $cmd = $_GET["cmd"]; 
else 
    die("You should have a 'cmd' parameter in your URL"); 
$pk = $_GET["pk"]; 
$con = mysql_connect("localhost","root","geheim"); 
if(!$con) 
{ 
die('Connection failed because of' .mysql_error()); 
} 
mysql_select_db("ebay",$con); 
if($cmd=="GetAuctionData") 
{ 
echo "<table border='1' width='100%'> 
<tr> 
<th>Username</th> 
<th>Start Date</th> 
<th>Description</th> 
</tr>"; 
$sql="SELECT * FROM Auctions WHERE ARTICLE_NO ='$pk'"; 
$result = mysql_query($sql); 
while ($row = mysql_fetch_array($result)) 
{ 
echo "<tr> 
<td>".$row['USERNAME']."</td> 
<td>".$row['ARTICLE_NO']."</td> 
<td>".$row['ARTICLE_NAME']."</td> 
<td>".$row['SUBTITLE']."</td> 
<td>".$row['CURRENT_BID']."</td> 
<td>".$row['START_PRICE']."</td> 
<td>".$row['BID_COUNT']."</td> 
<td>".$row['QUANT_TOTAL']."</td> 
<td>".$row['QUANT_SOLD']."</td> 
<td>".$row['ACCESSSTARTS']."</td> 
<td>".$row['ACCESSENDS']."</td> 
<td>".$row['ACCESSORIGIN_END']."</td> 
<td>".$row['USERNAME']."</td> 
<td>".$row['BEST_BIDDER_ID']."</td> 
<td>".$row['FINISHED']."</td> 
<td>".$row['WATCH']."</td> 
<td>".$row['BUYITNOW_PRICE']."</td> 
<td>".$row['PIC_URL']."</td> 
<td>".$row['PRIVATE_AUCTION']."</td> 
<td>".$row['AUCTION_TYPE']."</td> 
<td>".$row['ACCESSINSERT_DATE']."</td> 
<td>".$row['ACCESSUPDATE_DATE']."</td> 
<td>".$row['CAT_1_ID']."</td> 
<td>".$row['CAT_2_ID']."</td> 
<td>".$row['ARTICLE_DESC']."</td> 
<td>".$row['COUNTRYCODE']."</td> 
<td>".$row['LOCATION']."</td> 
<td>".$row['CONDITIONS']."</td> 
<td>".$row['REVISED']."</td> 
<td>".$row['PAYPAL_ACCEPT']."</td> 
<td>".$row['PRE_TERMINATED']."</td> 
<td>".$row['SHIPPING_TO']."</td> 
<td>".$row['FEE_INSERTION']."</td> 
<td>".$row['FEE_FINAL']."</td> 
<td>".$row['FEE_LISTING']."</td> 
<td>".$row['PIC_XXL']."</td> 
<td>".$row['PIC_DIASHOW']."</td> 
<td>".$row['PIC_COUNT']."</td> 
<td>".$row['ITEM_SITE_ID']."</td> 
<td>".$row['STARTS']."</td> 
<td>".$row['ENDS']."</td> 
<td>".$row['ORIGIN_END']."</td> 
</tr> 
<tr><td></td></tr>"; 

} 
echo "</table>"; 
echo "<img src=".$row['PIC_URL'].">"; 
} 
mysql_close($con); 
?> 

Voici le code HTML généré:

<table border='1' width='100%'> 
<tr> 
<th>Username</th> 
<th>Start Date</th> 
<th>Description</th> 
</tr><tr> 
<td>fashionticker1</td> 
<td>220288560247</td> 
<td>Ed Hardy Herren Shirt Rock & Roll Weiss XXL Neu & OVP</td> 
<td></td> 
<td>0.00</td> 
<td>49.00</td> 
<td>0</td> 
<td>1</td> 
<td>0</td> 
<td>1.10.2008 16:22:09</td> 
<td>6.10.2008 16:22:09</td> 
<td>6.10.2008 16:22:09</td> 
<td>fashionticker1</td> 
<td>0</td> 
<td>1</td> 
<td>0</td> 
<td>59.00</td> 
<td>http://storage.supremeauction.com/flash/ebay2/10/49/76/10497654/13895964e.jpg</td> 
<td>0</td> 
<td>1</td> 
<td>6.10.2008 16:21:47</td> 
<td>6.10.2008 16:28:31</td> 
<td>32315</td> 
<td>0</td> 
<td><!-- +++++++++++++++++++++++++ Bitte ändern Sie im eigenen Interesse nichts an diesem Code! ++++++++++++++++++++++++ --> 
<!-- +++++++++++++++++++++++++ Das kann massive Fehldarstellungen ihrer Auktion zur Folge haben! +++++++++++++++++++ --> 
<!-- +++++++++++++++++++++++++ ++++++++++++++++++++++++++ Ihr Supreme Team +++++++++++++++++++++++++++++++++++++++++ --> 
</td> 
<td> 
<br> 
<br> 
<style ty</td> 
<td>float: right; 
</td> 
<td>margin: 0px; 
</td> 
<td>0</td> 
<td>0</td> 
<td>0</td> 
<td>padding:5px; 
</td> 
<td>0.00</td> 
<td>0.00</td> 
<td>0.00</td> 
<td>0</td> 
<td>0</td> 
<td>font-size: 12px; 
</td> 
<td>color: #333333; 
} 
#h</td> 
<td>0000-00-00 00:00:00</td> 
<td>0000-00-00 00:00:00</td> 
<td>0000-00-00 00:00:00</td> 
</tr> 
<tr><td></td></tr></table><img src=> 

Tout ce que je fais, je ne peux pas obtenir une image à afficher, et quand PIC_URL est vide, il affiche seulement une image de placeholder au-dessus de la table, et je le veux ci-dessous.

+0

Pourriez-vous inclure le code HTML généré? Il semble que vous manquiez un tag ou une citation quelque part. – Greg

+0

Je serais plus intéressé par le contenu complet des blocs de code. Il nous manque les accolades ouvrantes et avec seulement ce que nous voyons, il est tout à fait possible que la variable $ row soit hors de portée. – 3Doubloons

Répondre

1

Il devrait être:

echo "<img src=\"".$row['PIC_URL']."\">"; 
+0

Ceci produit le html correct, mais aucune image n'est montrée. –

+0

pouvez-vous coller le code HTML? Je vais deviner soit le HTML est incorrect ou l'image n'existe pas sur l'URL donnée –

+0

L'image existe définitivement, j'ai collé le code HTML ici: http://www.nomorepasting.com/getpaste.php?pasteid=22292 –

1

<style ty</td> ressemble le problème pour moi.

+0

ce n'est pas mon fait, mais une partie des données qui contient le balisage html. Pourquoi empêcherait-il qu'une image montre si l'image est en dehors de la base de données? –

+0

Ceci est correct - le navigateur (testé en FF) semble ignorer le reste du html car le tag n'est pas fermé. Peut-être que vous pouvez appeler strip_tags() ou htmlentities() sur ces mauvaises données html. –

1

Vous générez cette balise img en dehors de de votre boucle while, qui se termine lorsque $ row est false. En d'autres termes, vous n'atteindrez ce code que si $ row ne contient aucune information car vous avez fini de lire les lignes!

Soit de sortir une cellule pour l'image, soit de sortir une nouvelle ligne avec une seule cellule pour l'image couvrant toute la ligne. Parce que la boucle est terminée, $ row est faux. $

+0

si je le laisse dans la boucle rien n'est encore affiché –

0
while ($row = mysql_fetch_array($result)) 
{ 
*snip* 
} 
echo "</table>"; 
echo "<img src=".$row['PIC_URL'].">"; 

Vous devez le changer en quelque chose comme.

while ($row = mysql_fetch_array($result)) 
{ 
*snip* 
$lastImg = $row['PIC_URL']; 
} 
echo "</table>"; 
echo "<img src=\"$lastImg\">"; 

Je commence à douter que vous ayez un PIC_URL valide renvoyé par votre requête de base de données. Vous devriez essayer ceci, voir si vous obtenez des images valides de l'url, et particulièrement si le dernier url dans la liste est valide.

while ($row = mysql_fetch_array($result)) 
{ 
    *snip* 
    $images[] = $row['PIC_URL']; 
} 
echo "</table>"; 
?><p>Are these valid urls you can open in yer browser?</p><pre><?php 
    print_r($images); 
?></pre><?php 
+0

Toujours aucune image n'est affichée, bien qu'il génère un html correct et il y a certainement une image à l'url –

+0

Vous devez vérifier: y at-il un attribut appelé PIC_URL retourné avec la requête ? Est-ce que la dernière rangée de votre requête a une image valide? l'URL fonctionne-t-elle si vous le mettez dans un navigateur? – OIS

+0

Le html est correct, et quand je prends l'URL image qui est générée dans le html cela fonctionne très bien, PIC_URL est retourné avec la requête, j'ai changé pour les couches d'une table mais le problème est le même. –

Questions connexes