2016-12-18 1 views
0

divのコンテンツに問題があります。私は書籍がMySQLのデータベースからHTMLのコンテンツを読み込む必要があるWebサイトを作成しました。コンテンツを分割するためにデータを読み込むためにprintf();を使用しています。しかし、私は<span>タグの間にPHP変数を貼り付けることはできません。php変数を "span"タグに貼り付けるにはどうすればいいですか?

<?php 
require 'scripts/connect.php'; 
$sql_select = "SELECT * FROM users"; 
$result = mysql_query($sql_select); 
$row = mysql_fetch_array($result); 
do 
{ 
    printf(
        '<ul> 
        <li> 
         <div class="product"> 
          <a href="#" class="info"> 
           <span class="holder"> 
            <img src="css/images/image01.jpg" alt="" /> 
            <span class="book-name">$row['b_name'] </span>  //ERROR IN HERE 
            <span class="author">$row['a_name']</span>  //AND HERE 
            <span class="description">Maecenas vehicula ante eu enim pharetra<br />scelerisque dignissim <br />sollicitudin nisi</span> 
           </span> 
          </a> 
          <a href="#" class="buy-btn">BUY NOW <span class="price"><span class="low">$</span>22<span class="high">00</span></span></a> 
         </div> 
        </li> 
        </ul>' 
        ); 
} 
while($row = mysql_fetch_array($result)); 
     ?> 

私はこれをどのように行うことができますか?ありがとう

+1

mysql_ *関数を使用しないでください。 –

+0

また、HTML/CSS/JavaScript用にのみスニペットを使用してください。 PHP用ではありません。 –

+0

私の回答の相手を受け入れますか? –

答えて

3

あなたが私に尋ねるなら、mysql_*機能とPHPとHTMLを分離することなくこのようにします。あなたの問題はです。'引用符は展開されません。上記のコードで

<?php 
require 'scripts/connect.php'; 
$sql_select = "SELECT * FROM users"; 
$result = mysqli_query($conn, $sql_select); 
if (mysqli_num_rows($result) > 0) 
    while (false != ($row = mysql_fetch_array($result))) { ?> 
<ul> 
    <li> 
     <div class="product"> 
      <a href="#" class="info"> 
       <span class="holder"> 
        <img src="css/images/image01.jpg" alt="" /> 
        <span class="book-name"><?php echo $row['b_name']; ?></span> 
        <span class="author"><?php echo $row['a_name']; ?></span> 
        <span class="description">Maecenas vehicula ante eu enim pharetra<br />scelerisque dignissim <br />sollicitudin nisi</span> 
       </span> 
      </a> 
      <a href="#" class="buy-btn">BUY NOW <span class="price"><span class="low">$</span>22<span class="high">00</span></span></a> 
     </div> 
    </li> 
</ul> 
<?php } ?> 

、私は$connmysqli_connect変数であると仮定しています。

+0

ありがとう!本当にうまくいった! –

+1

これは受け入れられる回答である必要があります。 – Ronald

0

問題は、二重引用符と一重引用符を混同していることです。 PHP変数は二重引用符でのみ出力できます。単一引用符に既存の二重引用符のすべてを変更し、二重引用符で<ul>をカプセル化:

もちろん
"<ul> 
    <li> 
     <div class='product'> 
     <a href='#' class='info'> 
      <span class='holder'> 
      <img src='css/images/image01.jpg' alt='' /> 
      <span class='book-name'>$row['b_name']</span> 
      <span class='author'>$row['a_name']</span> 
      <span class='description'>Maecenas vehicula ante eu enim pharetra<br />scelerisque dignissim <br />sollicitudin nisi</span> 
      </span> 
     </a> 
     <a href='#' class='buy-btn'>BUY NOW 
      <span class='price'> 
      <span class='low'>$</span>22 
      <span class='high'>00</span> 
      </span> 
     </a> 
     </div> 
    </li> 
</ul>" 

、あなたは常に再構築だけで出力するHTMLなどのコンテンツは、その後、PHP変数を挿入できます。

<span><?php echo $row['b_name']; ?></span>

またmysql()コールはPHP 5.5で非推奨になり、そしてあからさまは、PHP 7.0でを削除し、そう:)

代わりにMySQLiをやPDOの使用を検討していることに注意してください

これは役に立ちます。

+0

"あなたのprintf()内でecho()を使用しています"いいえ彼はいません –

+0

@ObsidianAge私はそれがなぜ解決しなかったのか分かりませんが、本当にいい担当者がいるので、このように投稿しないでください。言い訳をしないでください。 –

+0

@PraveenKumar「このように投稿しないでください」 - ソリューションをすぐに入手し、ソリューションを投稿した後にコードをフォーマットしたいと考えました。フォーマットされていない、私のコードは完全に有効です。私のフォーマットの欠如を批判するのではなく、あなたのことを書いている人たちをいじめるのではなく、サイトから遠ざけようとするのではなく、あなたの代わりとなるソリューションを奨励するのはどうですか?あなたは私をはるかに超えている担当者を持っているので、私はあなたに同じことを言うでしょう、 "これのように投稿しないでください"。 –

関連する問題