Comunidad de diseño web y desarrollo en internet online

¿donde esta el error en esta sentencia?

Citar            
MensajeEscrito el 17 Abr 2007 02:51 pm
while ($array = mysql_fetch_array($fewComments)) {
$name = mysql_result($fewComments, $i, 'name');
$email = mysql_result($fewComments, $i, 'email');
$comments = mysql_result($fewComments, $i, 'comments');
$time = mysql_result($fewComments, $i, 'time');

print '<b>Name: </b>' . $name . '<br><b>Email: </b>' . $email . '<br><b>Comments: </b>' . $comments . '<br><b><i>Date: </b>' . $time . '</i><br><br>';
$i++;
}
}

**Siempre que lo ejecuto obtengo la respuesta: "undefined variable on line 54" ( concretamente $i++; ) Cualquier ayuda es bienvenida.Gracias******************************************

Por xalva

3 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 17 Abr 2007 06:17 pm
Quizá si puderamos ver unas cuantas lineas antes del código.... donde declares $i
o, si no lo has hecho:

Código :

$i=0;

antes de tu while

Por H3r3j3

290 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador Multimedia

firefox
Citar            
MensajeEscrito el 17 Abr 2007 07:29 pm
Se trabaja mejor asi

Código :

while ($row = mysql_fetch_array($fewComments)) {
    echo "Name:".$row['name']."email:".$row['email'];
}


y te ahorras codigo
lo que dice H3r3j3 es correctisimo ya que en el ciclo le dices que le sume uno ( $i++) pero, a que le va a sumar si nola has declarado? :D

Por Azielito

79 de clabLevel



 

Frente al PC

firefox
Citar            
MensajeEscrito el 18 Abr 2007 10:39 pm
Un par de cosas con las que no estoy de acuerdo, la primera es que eso no es el error porque si no la has declarado se declara sola y con valor 0 en el momento de la primera incrementación.
Haced la prueba:

Código :

<?php
   while($i<10)
   {
      echo("Valor de \$i = $i <br>");
      $i++;
   }
?>


Otra cosa es que sea recomendable porque se haya usado una variable con el mismo nombre en otro lugar del código y ésta ya tenga un valor anterior, yo personalmente siempre la inicializo.

Lo segundo que quería decir, para preguntar por un error es muy recomendable poner los resultados que te devuelve el método y lo que tú quieres que devuelva, poner los warnings, etc. De otra forma obligas a la gente a analizar tu código sin ser del todo necesario en la mayor parte de las ocasiones (por lo menos si hay algún warning por medio).
Saludos...

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 19 Abr 2007 12:40 am

Johnny escribió:

Un par de cosas con las que no estoy de acuerdo, la primera es que eso no es el error porque si no la has declarado se declara sola y con valor 0 en el momento de la primera incrementación.
Haced la prueba:

Código :

<?php
   while($i<10)
   {
      echo("Valor de \$i = $i <br>");
      $i++;
   }
?>



Con valor NULL, no cero. La cuestión es que da uno es porque php al ver el operador de incremento fuerza(convierte) a la variable a que sea de tipo de entero y si conviertes un valor nulo a entero el resultado es cero. Haz esta prueba.

Código :

<?php
var_dump($k);
   $k = (int) $k;
   echo $k;
?>


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 20 Abr 2007 10:18 pm

xalva escribió:

while ($array = mysql_fetch_array($fewComments)) {
$name = mysql_result($fewComments, $i, 'name');
$email = mysql_result($fewComments, $i, 'email');
$comments = mysql_result($fewComments, $i, 'comments');
$time = mysql_result($fewComments, $i, 'time');

print '<b>Name: </b>' . $name . '<br><b>Email: </b>' . $email . '<br><b>Comments: </b>' . $comments . '<br><b><i>Date: </b>' . $time . '</i><br><br>';
$i++;
}
}

**Siempre que lo ejecuto obtengo la respuesta: "undefined variable on line 54" ( concretamente $i++; ) Cualquier ayuda es bienvenida.Gracias******************************************


Pues... yo no se mucho de php, pero por lo que veo en ese código, y si como bien han dicho por ahi arriba, no has declarado la variable "$i" lo más normal es que te de error, ya que al entrar en el bucle while, en todas las lineas la utilizas, con lo que si no ha sido declarada antes, te da el error de "undefined variable...." lo raro es que te lo de en la linea del incremente...

Saludos!

Por DooBie

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.