2017-08-27 1 views
-2

Also ich habe eine MySQL-Tabelle, und es gibt Werte drin. Ich wiederhole so viele Elemente auf meiner Seite, wie viele Spalten es in der Tabelle gibt. Ich mache das mit einer Schleife, und ich möchte wissen, wie ich in all diesen Elementen (was ich auf dem Bildschirm durch die Anzahl der Spalten drucken kann), ein Titel, was in der Tabelle gespeichert ist, jede Spalte hat dies . Wie komme ich an die Nummer des gedruckten Elements, welchen Titel (oder Zeile) soll ich wiedergeben? Ich mache das gerade mit IDs, aber was passiert, wenn ich eine Spalte lösche? Eine Nummer wird fehlen. Also ich brauche es ohne IDs zu verwenden. Und sorry für mein Englisch, ich bin Hungaryan Code:Wie Echo von Zeilen eins durch eine Zahl (ohne ID)?

<?php 
     $mysqli = new mysqli("localhost","***","***","***"); 
     $result = $mysqli->query("SELECT * FROM `products`"); 
     for($i = 0; $i < $result->num_rows; $i++){ 
      $j = $i + 1; 
      $res = $mysqli->query("SELECT * FROM `products` WHERE `id` =" . $j); 
      $row=mysqli_fetch_array($res,MYSQLI_ASSOC); 
      $product = $row["name"]; 
      echo ' 
       <div class="demo-graphs mdl-shadow--2dp mdl-color--white mdl-cell mdl-cell--4-col"> 
        <img src="' . $row["imageurl"] . '" alt="Avatar" style="width:100%"> 
        <h3 class="red-text">' . 
         $product 
        . ' Alts</h3> 
        <a class=" mdl-navigation__link" href="edit.php?product=' . $product . '"><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">edit</i> Edit</a> 
        <a class=" mdl-navigation__link" href="delete.php?product=' . $product . '"><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">delete</i> Delete</a> 
       </div> 
      '; 
     } 
?> 

+0

anzeigen Zeigen Sie Ihr Tabellenschema in Ihrem Code an. –

+0

@ MártonLederer Das nächste Mal, wenn Sie Probleme mit Ihrem Code haben - Sie müssen sicherstellen, dass es in einem separaten Absatz ist, und dann wählen Sie den Code und klicken Sie auf 'Strg + k' ([Markdown-Hilfe] (https: // stackoverflow .com/editing-help # code)) –

Antwort

0

ich glaube, Sie so etwas tun könnte:

"SELECT * FROM table2 where id=$allrowsandcolumns" 

$allrowsandcolumns ist ein Array von Ergebnissen aus der Datenbank, die enthält col1, col2, col3, col4 aus Ihrer ersten Abfrage. Optisch sieht es wie folgt aus:

$allrowsandcolumns = array ( 
     "col1" => value1 
     "col2" => value2 
     "col3" => value3 
     "col4" => value4 
    ) 

ich denke, wir können vereinbaren, dass ein Array in einen String wird nicht funktionieren zu setzen versucht. Stattdessen möchten Sie wahrscheinlich etwas wie folgt:

"SELECT * FROM table2 where id=" . $allrowsandcolumns["col1"] 

Oder welche Spalte ist die ID-Spalte mit Tabelle2 übereinstimmen.

So weit wie aus allen Reihen hallt ... Das sieht für mich aus, als ob Sie neu in der Programmierung sind. Aber Verschachtelung ist leicht erklärt:

Gerade jetzt Sie diese haben:

$options=mysql_query("SELECT col1, col2, col3, col4 FROM table1"); 
while($allrowsandcolumns=mysql_fetch_array($options)) { 
    $options1=mysql_query("SELECT * FROM table2 where id=$allrowsandcolumns"); 
} 
while($rows=mysql_fetch_array($options1)) { 
    echo $rows['name']; 
} 

bearbeitet (ohne ids Sie so etwas tun könnte)

$stmt = $mysqli->prepare("SELECT name FROM table1"); 
$stmt->execute(); 
$array = []; 
foreach ($stmt->get_result() as $row) 
{ 
    $array[] = $row['column']; 
} 
print_r($array); 

Ergebnisse wie

Array 
(
    [0] => name1 
    [1] => name2 
    [2] => name3 
    [3] => name4 
    [4] => name5 
) 
+0

Aber ich will es ohne die Verwendung von IDs –

Verwandte Themen