2016-09-28 2 views
-2

Ich versuche, PHP zu verwenden, und ich bin wirklich neu.Wert einer Schaltfläche für jede Zeile zuweisen

Ich erstelle eine Seite, die (mit einem PHP-Code) die Informationen an die Datenbank senden und eine Seite, die die Informationen aus der Datenbank anzeigen.

Meine Frage ist: Sagen wir, ich werde 10 Informationen eingeben, aber ich zeige nur 5 von ihnen an, wie kann ich den Rest der Info anzeigen, klicken auf eine Schaltfläche für jede Zeile?

Muss ich der Schaltfläche einen Wert zuweisen? Ich kann nicht verstehen, wie ich den Knopf mit der Reihe verbinden kann.

Grundsätzlich für jede Zeile möchte ich den Rest der Informationen dieser bestimmten Zeile anzeigen, indem ich auf diese spezielle Schaltfläche klicke.

Jede Hilfe wird angemessen sein. Dank

----- Skript, das die Informationen in der db -----

<?php 

$name = mysqli_real_escape_string($link, $_POST['name']); 
$mail = mysqli_real_escape_string($link, $_POST['mail']); 
$number = mysqli_real_escape_string($link, $_POST['number']); 
$device = mysqli_real_escape_string($link, $_POST['device']); 
$model = mysqli_real_escape_string($link, $_POST['model']); 
$problem = mysqli_real_escape_string($link, $_POST['problem']); 

     $sql = "INSERT INTO cj (name, mail, number, device, model, problem) VALUES ('$name', '$mail', '$number', '$device', '$model', '$problem')"; 
     $result = mysqli_query($link, $sql); 
     // if query fails stop script and echo error 
    if($result === false) 
    {echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); 
     exit; 
    }   
    header("location:add-customer.php?message=A job and customer has been added to the database"); 

    exit; 
     echo "You'll never see this"; 
    ?> 

----------- Seite einfügen, zeigt die Info ---- -

 <?php 
$sql = "SELECT * from "database name""; 
    echo " 
<table class='table'> 
    <thead> 
     <tr>"; 
/* Get field information for all columns */ 

    echo "<form action='' method=post>"; 
    echo "<tr class='info'> 

       <input type=hidden name=hidden value=" . $row['id'] . "> 
       <td>" . $row['id'] . "</td> 
       <td>" . $row['device'] . "</td> 
       <td>" . $row['model'] . "</td> 
       <td>" . $row['problem'] . "</td> 
       <td> 

      </td>   

       <td> 
       <a class='btn btn-primary btn-sm' data-toggle='modal' data-target='#myModal' value= " . $row['id'] . " > Info</a></form></td> 

      </tr>"; 
    echo "</form>"; 


} 
echo " 
    </tbody> 

</table>"; 

?> 

<div class="container"> 
    <!-- Trigger the modal with a button --> 
    <!-- Modal --> 
    <div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-dialog modal-lg"> 
    <!-- Modal content--> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Customer Information</h4> 
     </div> 

     <div class="modal-body"> 

     <?php 
include("../includes/connection.php"); 
if ($link->connect_errno > 0) { 
    die('Unable to connect to database [' . $link->connect_error . ']'); 
} 
$sql = "SELECT name,mail,number from databasename WHERE **???**; 


if (!$result = $link->query($sql)) { 

    die('There was an error running the query [' . $link->error . ']'); 
} 
echo " 
<table class='table'> 
    <thead> 
     <tr>"; 
/* Get field information for all columns */ 
while ($finfo = $result->fetch_field()) { 
    echo " 
     <th>" . $finfo->name . "</th>"; 
} 
echo " 
     </tr> 
    </thead> 
    <tbody>"; 
while ($row = $result->fetch_assoc()) { 
    echo "<tr class='info'> 

       <td>" . $row['name'] . "</td> 
       <td>" . $row['mail'] . "</td> 
       <td>" . $row['number'] . "</td> 

    </tr>"; 

... 
+0

Ist also der Knopf, der den Benutzer zu einer "Details" -Seite bringt, wo er mehr Informationen über die Zeile sehen kann, oder eher wie eine "Expand" -Schaltfläche, wo der Inhalt beim Klicken angezeigt wird? –

+0

müssen Sie Ihren Code zeigen, weil ich keine Ahnung habe, was eine quantifizierbare "info" in diesem Kontext ist –

+0

@yes der Knopf nimmt zu einem modalen Popup, das mehr Info über die gleiche Reihe anzeigt, die der Knopf angeklickt worden ist . Deshalb denke ich, dass man der Schaltfläche einen Wert wie zB die Zeilen-ID zuweisen sollte ... aber ich bin mir nicht sicher – MisterNubb

Antwort

0

fand ich eine Lösung mit Ajax:

hier ist der Code: (ein Ajax-Aufruf an eine dritte PHP-Seite, die mein Problem behoben)

<script> 
    $(document).ready(function(){ 
     $('.get_info').click(function(){ 
     var job_id = $(this).parent().siblings('input[name=hidden]').val(); 
     $.ajax({ 
      url: 'THIRDPAGE.php', 
      data: 'job_id=' + job_id, 
      type: 'POST', 
      success: function(data){ 
      // console.log(data); 
      $('.info_data').html(data); 
      } 
     }); 
     }); 
    }); 
    </script> 

Für die oone, die ist Kommen Sie hier einfach kommentieren und ich kann besser erklären, was ich getan habe.

0

Verbinden Sie sich mit der Database und erhalten Sie alle 10 Informationen mit PHP. Aber zeige nur 5 Infos. Setzen Sie eine Schaltfläche dort und verwenden Sie Javascript oder Jquery, um andere Zeilen anzuzeigen. (Onclick Ereignis)

+0

Also sollte ich für jede Zeile ein Onclick-Ereignis setzen, das Informationen über diese bestimmte Zeile anzeigt? Klingt gut, aber ich kann das nicht für jede Zeile programmieren, was ist, wenn ich 300 Zeilen habe .... – MisterNubb

Verwandte Themen