Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/MySQL] Pobieranie danych z bazy i wyświetlanie w formie XML w pliku o formacie .php, Mimo ustawionego warunku WHERE i tak wyświetla mi dane z bazy
MOniToR
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


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?

Ten post edytował MOniToR 13.02.2009, 13:53:35


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




dostepnosc=dostepnosc>0 a czemu to ma sluzyc?
powinno byc: dostepnosc>0 i juz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Spawnm
post
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




może zamiast
$sql="SELECT * FROM products WHERE dostepnosc=dostepnosc>0";
daj
$sql="SELECT * FROM products WHERE dostepnosc>0";
Go to the top of the page
+Quote Post
MOniToR
post
Post #4





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


Szkoda, że kurde nie wywaliło błędu bo tak cholerstwo spory rachunek w tych porównywarkach nabiło ;p


--------------------
Go to the top of the page
+Quote Post
Spawnm
post
Post #5





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




było dać $result=mysql_query($sql) or die ( mysql_error() );

pewnie wtedy by wywaliło ;]
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Spawnm przeczytaj pierwszy post dokladnie i nie pisz glupot smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 09:10