2016-03-30 16 views
0

Ich habe eine Admin-Seite einfügen, Ich versuche, eine Display-Produkte-Seite zu erstellen, so dass alle Benutzer, die die Website besuchen, die Produkte sehen können. Ich versuche, alle Daten genau gleich zu gestalten. Wenn also ein neues Produkt in die Website eingefügt wird, sieht es genauso aus wie die anderen, und es müssen nicht jedes Mal neue Stile hinzugefügt oder ein neues Layout erstellt werden.MYSQLI - PHP: Produkte anzeigen Seitenausgabe

Aber ich habe kein Glück, ich habe zwei verschiedene Möglichkeiten ausprobiert, aber nichts wird angezeigt.

Versuch 1:

 <?php 
    $select_prods = $dbc->query("SELECT * FROM Rest_Details"); 
    while($row_prods = $select_prods->fetch_array(MYSQLI_BOTH)){ 
    session_start(); 

    $_SESSION['rest_name'] = $row_prods['Resturant_name']; 
    $_SESSION['rest_name'] = $row_prods['Resturant_name']; 
    $_SESSION['rest_addlin1'] = $row_prods['Res_Address_Line_1']; 
    $_SESSION['rest_addlin2'] = $row_prods['Res_Address_Line_2']; 
    $_SESSION['rest_city'] = $row_prods['City_name']; 
    $_SESSION['rest_pcode'] = $row_prods['Resturant_Postcode']; 
    $_SESSION['rest_avg'] = $row_prods['Avg_Del']; 
    $_SESSION['rest_Est_Del'] = $row_prods['Est_Del']; 

    echo " 
      <div id='products_box'> 

    <p id='name'> $_SESSION['rest_name']</p> 
    </div> 
     " 
     } 

Versuch 2

  <?php 
     $select_prods = "SELECT * FROM Rest_Details"; 
     //$run_prods = mysqli_query($dbc, $select_prods); 
     $run_prods = mysqli_prepare($dbc, $select_prods) or die(mysqli_error($dbc)); 

     while ($row_prods = mysqli_fetch_array($run_prods)) { 
      $rest_id = $row_prods['Resturant_ID']; 
      $rest_name = $row_prods['Resturant_name']; 
      $rest_add = $row_prods['Res_Address_Line_1']; 
      $rest_city = $row_prods['City_name']; 

      echo " 

    <div id='product'> 
     <h3>$rest_name </h3> 
     <p>$rest_add</p> 
     <a href='product_page.php'><button>Feed Me!</button></a>  
    </div> 
    "; 
     } 
    ?> 

sowohl für i erwarten Produktnamen, Adresse, durchschnittliche Lieferzeit ... aber nichts an allen Anzeigen zu sehen.

Beide Queries funktionieren, gibt es eine bessere Möglichkeit, alle Inhalte anzuzeigen, so dass alle Produkte gleich aussehen und auf einem neuen Produkt einfügen, die auch das gleiche Layout hat und die gleichen Informationen wie Produktname, Adresse, durchschnittliche Lieferzeit ...

werden alle Vorschläge helfen

+1

Bitte das erwartete Ergebnis, beispielsweise Wiederholungs was Sie wollen, und das tatsächliche Ergebnis, z.B. was tatsächlich passiert, in beiden Szenarien. – Technoh

+0

Sie sollten nicht mit dem ersten Beispiel gehen. Im Grunde schreiben Sie die globale Variable "$ _SESSION" für jede Iteration der while-Schleife um. Das zweite Beispiel sollte wie erwartet funktionieren, also bin ich mir nicht sicher, worauf Sie hinaus wollen. – Terry

+0

Ich denke, dass Sie einige Funktionsaufrufe für mysqli_stmt_execute(), mysqli_stmt_bind_result() und mysqli_stmt_fetch() vermissen. –

Antwort

0
<?php 
     $sql = "SELECT * FROM Rest_Details"; 
     $query = $dbc->query($sql); 
     while ($products = mysqli_fetch_assoc ($query)) { 
      $rest_id = $products['Resturant_ID']; 
      $rest_name = $products['Resturant_name']; 
      $rest_add = $products['Res_Address_Line_1']; 
      $rest_city = $products['City_name']; 
      echo $rest_id.'<br>'; 
      echo $rest_name.'<br>'; 
      echo $rest_add.'<br>'; 
      echo $rest_city.'<br>'; 
     } 
?>