2017-08-27 7 views
-2

私はmysqlテーブルを持って、そこに値があります。私はテーブルに多くの列があるので、私のページに多くの要素をエコーし​​ています。私はループでこれをやっている、私はどのように私はこれらの要素(私は列の数で画面に印刷している)、表に格納されているタイトルは、すべての列にエコーすることができます知ってほしい。どのように印刷された要素の数、どのタイトル(または行)をエコーする必要がありますか? IDでこれをやっていますが、列を削除するとどうなりますか?数字が失われます。だから私はidsを使わずにそれが必要です。そして、私の英語のため申し訳ありませんが、私はhungaryan午前 コード:行から1つを数値でエコーする方法(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

ショーのよう

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

結果(IDSずにこのような何かを行うことができます)、編集あなたのコードは、あなたのテーブルのスキーマを表示します。 –

+0

@MártonLederer次回は、コードに問題がある場合 - 別の段落にあることを確認してから、コードを選択して「ctrl + k」([Markdown help](https:// stackoverflow) .com/editing-help#code)) –

答えて

0

私はあなたがこのような何かができると思い:

"SELECT * FROM table2 where id=$allrowsandcolumns" 

$allrowsandcolumnsが含まれているデータベースからの結果の配列です最初のクエリのcol1、col2、col3、col4視覚的には、次のようになります。

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

私は、文字列に配列を配置しようとするとうまくいかないことに同意すると思います。代わりに、次のようなものが必要になる可能性があります。

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

またはいずれかの列がtable2と一致するいずれかの列です。

これまでのところ、すべての行がエコーアウトされていました...これは、プログラミングの初心者のようです。しかし、ネスティングが簡単に説明されて:

を今あなたがこれを持っている:

$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']; 
} 

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

しかし、私はidsを使用せずにそれをしたい –

関連する問題