2016-03-31 8 views
0

Der Code, den ich geschrieben habe, druckt einfach die Book_id des ausgewählten Buchs auf die gleiche Seite, wenn Sie auf die Schaltfläche "Senden" klicken. Es werden mehrere Bücher auf dem Bildschirm angezeigt und es besteht die Möglichkeit, maximal 100 Bücher gleichzeitig auf dem Bildschirm anzuzeigen. Ich möchte jedoch nicht mehr als 10 sehen. Wenn ich jetzt 3, 9 und 7 wähle, die alle auf der Seite angezeigt werden, scheinen sie bei der Auswahl der Kontrollkästchen angezeigt zu werden. Aber wenn ich 1, 3, 1001,243 wähle. Der zuletzt gewählte Wert von dieser Seite, d. 243 wird auf dem Bildschirm gedruckt. Hier ist mein CodeDie Kontrollkästchenwerte für die Auswahl mehrerer Seiten können nicht abgerufen werden

  <form action="more_book_issue.php" method="post"> 
      <input type="submit" name="submit" Value="Submit"/> 
      <?php 
      include 'connect_db.php'; 
      include 'login_check.php'; 
      include 'check_box_value.php'; 
      $sql = "select * from Books where id NOT IN (select Book_Id from Issued)"; 

      $result = mysqli_query($connection,$sql); 


      echo '<table class="table table-hover table-striped" id = "issue-table"> 
      <thead> 
       <tr> 
       <th>Id</th> 
       <th>Title</th> 
       <th>Last Name</th> 
       <th>Genre</th> 
       <th>Other</th> 
       <th>Rate</th> 
       <th>Category</th> 
       <th>Issue</th> 
       <th></th> 
       </tr> 
      </thead> 
      <tbody>'; 
       while($row = mysqli_fetch_array($result)){ 
       echo "<tr> 
       <th>$row[Id]</th> 
       <td>$row[Title]</td> 
       <td>$row[Lastname]</td> 
       <td>$row[Genre]</td> 
       <td>$row[Other]</td> 
       <td>$row[Rate]</td> 
       <td>$row[Category]</td> 
       <td>" 
       ?> 
      <input type="checkbox" name="addToCart[]" value="<?php echo $row['Id']; ?>"/> 

       <?php 
       "</td> 

       </tr>"; 
      } 
      ?> 

      </form> 
      <?php 

und check_box_value.php ist hier

<?php 
if(isset($_POST['submit'])){ 
if(!empty($_POST['addToCart'])) { 
// Counting number of checked checkboxes. 
$checked_count = count($_POST['addToCart']); 
echo "You have selected following ".$checked_count." option(s): <br/>"; 
// Loop to store and display values of individual checked checkbox. 
    foreach($_POST['addToCart'] as $selected) { 
    echo "<p>".$selected ."</p>"; 
    } 
    echo "<br/><b>Note :</b> <span>Similarily, You Can Also Perform CRUD Operations using These Selected Values.</span>"; 
    } 
    else{ 
    echo "<b>Please Select Atleast One Option.</b>"; 
    } 
} 
?> 

Antwort

0

Wenn ich gut Ihr Problem zu verstehen, müssen Sie nur den folgenden Code vor $ checked_count = count ($ _ POST [ 'addToCart tun ']); :

if (sizeof($_POST['addToCart']) > 10) { 
    $_POST['addToCart'] = array_slice($_POST['addToCart'], 0, 10); 
} 
+0

ich versuchte, indem diese wie du gesagt hat, aber es scheint immer noch –

+0

Können Sie Ihr Problem für mich nur den letzten Wert aus der letzten Seite angezeigt werden eindeutig erklären, ich glaube nicht, ich habe es schon ... –

+0

Die Software zeigt sagen 100 Bücher pro Seite, jedes mit einer zunehmenden Buch_ID und wenn wir etwas von dieser Seite sagen 1, 2, 99 und drücken Sie die Schaltfläche Senden, auf der gleichen Seite, kann ich diese drei Zahlen bekommen gedruckt. Aber wenn ich book_id 200,1001,600 (alle 3 auf 3 verschiedenen Seiten) auswähle, dann nur die letzte book_id von der letzten Seite, d. 600 wird beim Drücken der Submit-Taste gedruckt. Ich gehe davon aus, dass dies daran liegen könnte, dass die Werte nach Änderungen oder Aktualisierungen der Seite nicht vom Array beibehalten werden. Ich weiß es nicht. Ich habe zwar die Session start() und arraymerge nach dem submit versucht –

Verwandte Themen