PHP неправильно читает цитаты в строке HTML - PullRequest
1 голос
/ 09 августа 2011

PHP зависает после этого первого оператора echo, потому что последняя цитата - первая, которую он видит. В результате мой запрос не выполняется. Что происходит?

    <html>
    <head><title>New.</title>
    </head>
    <body>
    <?php

      $connect = mysql_connect("localhost", "name", "password");

   if (!$connect) {
    die ("Hey loser, check your server connection.");
    alert("No access.");
   }

   mysql_select_db("db");

   echo "<div class=\"accwrapper\">";
   echo "<div id=\"resor\">";

    $rresult=mysql_query("SELECT * from node");

    while($row=mysql_fetch_array($rresult, MYSQL_ASSOC)) { 

   echo "<tr class=\"prislista-row\"><td>";

   echo $row["node_title"];

   echo "</td><td class=\"list-price\">";

   echo $row["uc_products_list_price"];

    echo "</td><td class=\"sell-price\">";

     echo $row["uc_products_sell_price"];

     echo "</td></tr>";

  }

   ?>  
   </div><!--resor-->

    </div><!--accwrapper-->

   </body>

РЕДАКТИРОВАТЬ: все после

          echo '<div class="accwrapper">'; //the last single quote in this line

- строка, даже с одинарными кавычками. Удалил одинарные кавычки и предупреждение / умереть и все равно не повезло. Но спасибо всем за ответы.

Ответы [ 3 ]

2 голосов
/ 09 августа 2011

Используйте одинарные кавычки вокруг вашего эха, тогда вам не придется исключать

     echo '</td><td class="sell-price">';

но главная проблема в предупреждении - это функция javascript, а не php

удалить эту строку

   alert("No access.");

EDIT

Я забрал твой MySQL материал, и он работает, так что теперь ты просто должен выяснить, что не так с твоим SQL

  <html>
  <head><title>New.</title>
  </head>
  <body>

<?php

   $connect = true;

if (!$connect) {
 die ("Hey loser, check your server connection.");
}

//mysql_select_db("db");


     echo '<div class="accwrapper">';
     echo '<div id="resor">';


    echo '<tr class="prislista-row"><td>';

    echo $row["node_title"];

    echo '</td><td class="list-price">';

    echo $row["uc_products_list_price"];

    echo '</td><td class="sell-price">';

    echo $row["uc_products_sell_price"];

    echo '</td></tr>';



 ?>  
 </div><!--resor-->

  </div><!--accwrapper-->

 </body>
0 голосов
/ 09 августа 2011

Написание этого текста никогда не должно вызывать проблем;):

<html>
<head>
  <title>New.</title>
 </head>

 <body>
 <?php
   $connect = mysql_connect("localhost", "name", "password");

   if (!$connect) {
    die ("Hey loser, check your server connection.");
    alert("No access.");  //this will never execute
   }

   mysql_select_db("db");
   $rresult=mysql_query("SELECT * from node");
  ?>   

   <div class="accwrapper">
   <div id="resor">

   <?php while($row=mysql_fetch_array($rresult, MYSQL_ASSOC))  : ?>
   <tr class="prislista-row">
     <td><?php echo $row["node_title"]; ?></td>
     <td class="list-price"><?php echo $row["uc_products_list_price"]; ?></td>
     <td class="sell-price"><?php echo $row["uc_products_sell_price"]; ?></td>
   </tr>
   <?php endwhile; ?>  

   </div><!--resor-->
</div><!--accwrapper-->

Так что пусть HTML будет HTML, а PHP должен оставаться PHP.Старайтесь избегать их смешивания, повторяя HTML из PHP.

0 голосов
/ 09 августа 2011

Если вы используете эхо-теги, попробуйте использовать одинарные кавычки, например:

 echo '<div class="accwrapper">';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...