ayuda en PHP

hola, necesito ayuda, haber si podeis ayudarme

es que quier hacer un while, y nose donde tengo el fallo :S

  <?php
  /*         IMG   , DESCRIPCION, MARCA, VALOR */
  $i=array(
       array("P4.jpg","Pentium 4","ASUS","300"),
       array("C2D.jpg","Core 2 Duo","ACER","550"),
       array("acer.jpg","ASPIRE 5315","ACER","600"),
       array("HP.jpg","Compaq nx7400","HP","670"),
       array("toshiba.jpg","Satellite U300-13H","TOSHIBA","648"),
       array("asus.jpg","Asus F9D","ASUS","569"),
         );

      $contar=count($i);
      $a=1
      while ($a<=$contar){
        print("<img src="$i[0]"/><br/>
               DESCRIPCION:"$i[1]"<br/>
               MARCA:"$i[2]"<br/>
               PRECIO:"$i[3]"<br/>");
      $i++;
      $a++;
      }
    ?>


como podeis ver, estoy intentando que imprima en la web una imagen con su descripcion, detalle y el precio, pero me da el error T_WHILE y nose porque ,esta cerrado, veo la expresion bien :S

alguien ve el fallo??, como se arregla

gracias y saludos [bye]
Hace mucho que no toco php, pero creo que el problema lo tienes en el print. Sólo necesitas las comillas del principio y del final, si lo que quieres hacer es mostrar las comillas que contienen las variables, deberás escaparlas con \"
amuchamu escribió:Hace mucho que no toco php, pero creo que el problema lo tienes en el print. Sólo necesitas las comillas del principio y del final, si lo que quieres hacer es mostrar las comillas que contienen las variables, deberás escaparlas con \"


probado y me sigue dando el mismo fallo [triston] [triston]
el programa no te dice en que linea tienes el error?

Yo utilizo Maguma Studio y me llo dice al arrancarlo por locar con easyphp.

Un saludo!
mmdd escribió:el programa no te dice en que linea tienes el error?

Yo utilizo Maguma Studio y me llo dice al arrancarlo por locar con easyphp.

Un saludo!


si en la linea 131 (o sea donde esta ubicado el WHILE)

salu2
No recuerdo si en php cada sentencia debía terminar en ';' incluso si era la única de la línea pero, si es así, justo antes del while tienes un "$a=1" sin punto y coma.
$a=1
while ($a<=$contar){
print("<img src="$i[0]"/><br/>
DESCRIPCION:"$i[1]"<br/>
MARCA:"$i[2]"<br/>
PRECIO:"$i[3]"<br/>");


Yo estoy dando ahora PHP y como te dijeron arriba,yo creo que es el ; que te falta en

$a=1
No faltan los puntos de concatenacion en lo k hace el print?


print("<img src=".$i[0]."/><br/>
DESCRIPCION:".$i[1]."<br/>
MARCA:".$i[2]."<br/>
PRECIO:".$i[3]."<br/>");
amuchamu escribió:No recuerdo si en php cada sentencia debía terminar en ';' incluso si era la única de la línea pero, si es así, justo antes del while tienes un "$a=1" sin punto y coma.


Verdad!!, por eso no me saldra o_O gracias

Zekisoft escribió:No faltan los puntos de concatenacion en lo k hace el print?


print("<img src=".$i[0]."/><br/>
DESCRIPCION:".$i[1]."<br/>
MARCA:".$i[2]."<br/>
PRECIO:".$i[3]."<br/>");



verdad de la buena, como se nota que hace tiempo que no uso php [+risas] [+risas]

EDIT: probado, lo del punto y coma perfecto, ya funciona, pero ahora me sale "array" cada vez de ponerme lo que hay dentro del array :'(
gracias, y saludotes :D
Hola.
Para usar el array tiene que ser de esta forma $array[$i][0] , $i = al numero de cada array y el otro al elemento del otro array, en tu caso quedaría así.
<?php
  /*         IMG   , DESCRIPCION, MARCA, VALOR */
  $i=array(
       array("P4.jpg","Pentium 4","ASUS","300"),
       array("C2D.jpg","Core 2 Duo","ACER","550"),
       array("acer.jpg","ASPIRE 5315","ACER","600"),
       array("HP.jpg","Compaq nx7400","HP","670"),
       array("toshiba.jpg","Satellite U300-13H","TOSHIBA","648"),
       array("asus.jpg","Asus F9D","ASUS","569"),
         );

      $contar=count($i);
      $a=0;
      while ($a<$contar){
        print("<img src=".$i[$a][0]."/><br/>
               DESCRIPCION:".$i[$a][1]."<br/>
               MARCA:".$i[$a][2]."<br/>
               PRECIO:".$i[$a][3]."<br/>");
        $a++;
      }
?>


Saludos.
Monthy escribió:Hola.
Para usar el array tiene que ser de esta forma $array[$i][0] , $i = al numero de cada array y el otro al elemento del otro array, en tu caso quedaría así.
<?php
  /*         IMG   , DESCRIPCION, MARCA, VALOR */
  $i=array(
       array("P4.jpg","Pentium 4","ASUS","300"),
       array("C2D.jpg","Core 2 Duo","ACER","550"),
       array("acer.jpg","ASPIRE 5315","ACER","600"),
       array("HP.jpg","Compaq nx7400","HP","670"),
       array("toshiba.jpg","Satellite U300-13H","TOSHIBA","648"),
       array("asus.jpg","Asus F9D","ASUS","569"),
         );

      $contar=count($i);
      $a=0;
      while ($a<$contar){
        print("<img src=".$i[$a][0]."/><br/>
               DESCRIPCION:".$i[$a][1]."<br/>
               MARCA:".$i[$a][2]."<br/>
               PRECIO:".$i[$a][3]."<br/>");
        $a++;
      }
?>


Saludos.


oki, probare esta tarde :D

gracias y salu2!!
10 respuestas