Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyswietlaniem nazwy i opisu produktu
Forum PHP.pl > Forum > PHP
naxalie
Witam, mam pewien kod z książki do nauki PHP, który jak pisza powinen wyswietlac nazwe produktu, jego opis i szczegolowe dane. Z tym ostatnim nie ma problemu, wyswietla sie dobrze, natomiast nazwa i opis juz nie. sad.gif
Bylabym bardzo wdzieczna jakby ktos przejrzal ten kodzik i sprawdzil czy wszystko z nim jest ok.


Kod
<?php
require_once('./include/config.inc.php');
  
$name = NULL;

if(isset($_GET['id_ot'])) {
   $gw_id = (int) $_GET['id_ot'];
  
   if($gw_id > 0) {
     $q = "SELECT nazwa, domyslna_cena, opis FROM towary_ogolnie WHERE id_ot=$gw_id";
     $r = mysqli_query($dbc, $q);
          
     if(mysqli_num_rows($r) == 1) {
       list($name, $price, $description) = mysqli_fetch_array($r, MYSQLI_NUM);
     }
   }
}
      
if($name) {
   $page_title = $name;
}
      
include_once('./include/header.html');

if($gw_id) {  //Wyswietlenie nazwy i opisu produktu
   echo "<h1>$name</h1>\n";
          
   if(!empty($description)) {
     echo "<p>$description</p>\n";
   }
          
   $q = "SELECT id_ot, kolor, rozmiar, cena, w_magazynie FROM szczegoly_towarow LEFT JOIN kolory USING (id_koloru) LEFT  
           JOIN rozmiary USING (id_rozmiaru) WHERE id_ot=$gw_id ORDER BY rozmiar, kolor";
   $r = mysqli_query($dbc, $q);
          
   if(mysqli_num_rows($r) >1) {
     echo '<h3>Dostepne rozmiary i kolory</h3>';
              
     while($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
        $price = (empty($row['cena'])) ? $price : $row['cena'];
        $mag = $row['w_magazynie'] =='Y' ? 'Tak' : 'Nie';
                  
        echo "<p>Rozmiar: .{$row['rozmiar']}.
Kolor: {$row['kolor']}
  Cena: $price PLN
Dostepny w magazynie?:
        $mag";
                  
        if($row['w_magazynie'] == 'Y') {
           echo "
<a href=\"cart.php?id_ot={$row['id_ot']}&do=dodaj\">Dodaj do koszyka</a>";
        }
                  
         echo '</p>';
            
     }//Koniec pętli while
   }
   else {
      echo '<p class="error">Obecnie nie ma w magazynie towarow tego rodzaju.</p>';
   }
}
else {
   echo '<p class="error">Proba niewłaściwego dostepu do strony.</p>';
}
      
include_once('./include/footer.html');
?>
erix
  1. <?php
  2. if(mysqli_num_rows($r) >1) {
  3. ?>

Mało efektywne; poszukaj w ostatnich wątkach na forum wg tej funkcji, znajdziesz dyskusję na ten temat.

Cytat
statnim nie ma problemu, wyswietla sie dobrze, natomiast nazwa i opis juz nie.

Daj var_dump" title="Zobacz w manualu PHP" target="_manual na $row w pętli i zobacz, co faktycznie zwraca zapytanie.
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.