Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MySQL] Pobieranie danych z bazy i wyświetlanie w formie XML w pliku o formacie .php
Forum PHP.pl > Forum > PHP
MOniToR
Poniższy plik służy udostępnianiu ofert sklepu internetowego porównywarką cen typu ceneo itd. Może mi ktoś powiedzieć czemu mimo warunku w zapytaniu 'WHERE dostepnosc=dostepnosc>0' i tak mi wyświetla produktu, które mają ustawiona dostępność na 0 questionmark.gif Z góry dzięki za pomoc.
  1. <?php
  2. header('Content-type: application/xml; charset="ISO-8859-2"');
  3. ?><?xml version="1.0" encoding="ISO-8859-2"?>
  4. <?php
  5. include("db.php");
  6. $sql="SELECT * FROM products WHERE dostepnosc=dostepnosc>0";
  7. $result=mysql_query($sql);
  8. ?>
  9. <!DOCTYPE pasaz:Envelope SYSTEM "loadOffers.dtd">
  10. <pasaz:Envelope xmlns:pasaz="http://schemas.xmlsoap.org/soap/envelope/">
  11.  <pasaz:Body>
  12.    <loadOffers xmlns="urn:ExportB2B">
  13.    <offers>
  14. <?php while($row= mysql_fetch_array($result)) {
  15. $pr_sql="SELECT * FROM producenci WHERE pr_id='".$row["firma_id"]."'";
  16. $pr_result=mysql_query($pr_sql);
  17. $pr_row= mysql_fetch_array($pr_result);
  18. $cat_sql="SELECT * FROM categories WHERE id='".$row["cat_id"]."'";
  19. $cat_result=mysql_query($cat_sql);
  20. $cat_row= mysql_fetch_array($cat_result);
  21. ?>
  22.    <offer>
  23.            <id><?php echo $row["id"]; ?></id>
  24.            <name><?php echo "".$pr_row["pr_nazwa"]." ".$row["name"].""; ?></name>
  25.            <price><?php echo $row["cena"]; ?></price>
  26.            <url>http://www.ico.waw.pl/product.php?id=<?php echo $row["id"]; ?></url>
  27.            <categoryId><?php echo $cat_row["name"]; ?></categoryId>
  28.            <description></description>
  29.            <image><?php
  30.            echo"http://www.ico.waw.pl/wyslane/".$row["obrazek"]."";
  31. ?></image>
  32.                <attributes>
  33.                 <?php
  34. $prinfo_sql="SELECT * FROM productinfo WHERE product_id ='".$_row["id"]."'";
  35.  
  36. $prinfo_result=mysql_query($prinfo_sql);
  37. $prinfo_ile=mysql_num_rows($prinfo_result);
  38. if($prinfo_ile>0) {
  39. while($prinfo_row= mysql_fetch_array($prinfo_result)) {
  40.  
  41. $info_sql="SELECT * FROM info WHERE id ='".$prinfo_row["info_id"]."'";
  42. $info_result=mysql_query($info_sql);
  43. $info_row= mysql_fetch_array($info_result);              
  44.                    echo"<attribute>
  45.                        <name>".$info_row["name"]."</name>
  46.                        <value>".$prinfo_row["value"]." ".$info_row["miara"]."</value>
  47.                        </attribute>";
  48. }
  49. } else {
  50.    echo"<attribute>
  51.                        <name></name>
  52.                        <value></value>
  53.         </attribute>";
  54. }
  55. ?>
  56.                </attributes>
  57.        </offer>
  58.  
  59. <?php
  60.  
  61. }
  62. ?>
  63. </offers>
  64. </loadOffers>
  65. </pasaz:Body>
  66. </pasaz:Envelope>


PS. Z problemem sobie poradziłem dodając wewnątrz pętli while warunek 'if($row["dostepnosc"]>0) {' Ale bardzo nie rozumiem czemu mi skrypt wyświetlał te rekordy?
nospor
dostepnosc=dostepnosc>0 a czemu to ma sluzyc?
powinno byc: dostepnosc>0 i juz
Spawnm
może zamiast
$sql="SELECT * FROM products WHERE dostepnosc=dostepnosc>0";
daj
$sql="SELECT * FROM products WHERE dostepnosc>0";
MOniToR
Szkoda, że kurde nie wywaliło błędu bo tak cholerstwo spory rachunek w tych porównywarkach nabiło ;p
Spawnm
było dać $result=mysql_query($sql) or die ( mysql_error() );

pewnie wtedy by wywaliło ;]
nospor
@Spawnm przeczytaj pierwszy post dokladnie i nie pisz glupot smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.