Por q falla??

alfus
14 de Julio del 2005
Buenas, estoy haciendo una pagina PHP y quiero q me cree una tabla dinamicamente con los resultados de una select, ahora bien, no se porq no me llega a mostrar por pantalla los resultados, cuando la sentencia funciona perfectamente en el mysql. Gracias y aki os dejo el codigo...

<?php

$result=@mysql_query("SELECT nombre, parcial, practica, final from calificaciones c, asignaturas a where dni='$sdni' and curso_acad='$cursoActual' and c.cod_asig=a.cod_asig order by name");




while($row = @mysql_fetch_array($result)) { //bucle q va generando dinamicamente filas con el campo nombre y notas de las asiganturas
El fallo esta por aki `*************************************
printf("<tr><td>&nbsp;%s</td> </tr>","<tr><td>&nbsp;%s</td> </tr>","<tr><td>&nbsp;%s</td> </tr>","<tr><td>&nbsp;%s</td> </tr>",
$row['nombre'],$row['parcial'],$row['practica'],$row['final']);
********************************************************
}

Loop
14 de Julio del 2005
¿ Por qué estás tan seguro de que la sentencia funciona perfectamente sino muestra los resultados ? quiza si quitas el @ añades mysql_error(); y usas comillas invertidas verás que no es tan "perfecta" y sobre printf ni hablareh......

$result=mysql_db_query("base de datos","SELECT `nombre`, `parcial`, `practica`, `final` from `calificaciones c`, `asignaturas a` where `dni`='$sdni' and `curso_acad`='$cursoActual' and `c.cod_asig`='a.cod_asig' order by `name`")or die(mysql_error());


************
Sobre printf
************

Primero se pone la cadena con los %s y después los argumentos es decir.......

<?php
$a=array("hola","mundo");

printf("%s %s",$a[0],$a[1]); // Produce "hola mundo"; y es correcto

printf("%s","%s",$a[0],$a[1]); // Incorrecto y así lo estás haciendo

?>

Viste que no es tan "perfecto" ?

¡ Saludos !


alfus
14 de Julio del 2005
Gracias, todo viene de q cogi el codigo de una pagina el cual era incorrecto, nunca volvere a estar tan seguro de lo q hay por internet. Gracias

PD. Ya funciona