2016-04-22 11 views
2

Ich bearbeite 4 Auswahlvorgänge mit der gleichen Abfrage, aber nur die erste Auswahl wird aufgefüllt und die nachfolgenden nicht. Sobald die zweite Seite erreicht ist, stoppt page_load().

Fragen:
1) Was verursacht page_load zu stoppen?

2) Gibt es eine Möglichkeit, Code wiederzuverwenden, so dass ich nicht mehrere DB-Aufrufe machen muss, um dieselben Daten zurückzugeben?Nur für 1. DB-Anruf zurückgegebene Daten

Hier ist meine Syntax:

<div id="OrderInfo" runat="server"> 
<table id="orderinginfo"> 
<tr> 
<td> 
    <label for="labelselect">Choose an Item</label> 
    <select> 
     <option value="null" selected="selected"></option> 
     <?php 
      include 'phpquery.php'; 
      $sql = "Select item from items"; 
      echo get_items($sql); 
     ?> 
    </select>     
</td> 
</tr> 
<tr> 
<td> 
    <label for="labelselect1">Choose an Item:</label> 
    <select> 
     <option value="null" selected="selected"></option> 
     <?php 
      include 'phpquery.php'; 
      $sql = "Select item from items"; 
      echo get_items($sql); 
     ?> 
    </select>     
</td> 
</tr> 
</table> 
</div> 

<?php 
function get_items($sql) { 
    $servername = "localhost"; 
    $username = "user"; 
    $password = "pass"; 
    $dbname = "database"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } 
    $result = $conn->query($sql); 
    if ($result->num_rows > 0) 
    { 
    while($row = $result->fetch_assoc()) { echo "<option value=".$row['item'].">".$row['item']."</option><br>"; } 
    } 
    else echo "<option value='null'>default</option>"; 
    $conn->close(); 
} 
?> 

Antwort

0

Sie sind in phpquery.php jede Funktion oder Klasse neu definieren. PHP bricht ab, wenn Sie versuchen, eine solche Funktion oder Klasse neu zu definieren. Berücksichtigen Sie, dass Sie die Datei phpquery.php einmal einfügen und dann Ihre Funktion get_items ausführen. Sie können include_once oder require_once verwenden.

require_once() und include_once() Anweisung kann verwendet werden, um eine PHP-Datei in eine andere einzuschließen, wenn Sie die aufgerufene Datei möglicherweise mehr als einmal einschließen müssen. Wenn festgestellt wird, dass die Datei bereits enthalten ist, ignoriert das aufrufende Skript weitere Einschlüsse.

+0

Kann die include-Anweisung irgendwo in der .php-Datei hinzugefügt werden oder muss sie direkt über der aufrufenden Prozedur verwendet werden? –

+0

Ist Ihre Funktion 'get_items' in' phpquery.php'? –

+0

Ja, meine Funktion get_items ist innerhalb von phpquery.php –

Verwandte Themen