Foros del Web » Programando para Internet » PHP »

Porque??

Estas en el tema de Porque?? en el foro de PHP en Foros del Web. Hola amigos... de nuevo aqui.... molestandolos tengo una duda y se que ustedes me pueden ayudar a resolver.. quiero consultar datos que e almacenado en ...
  #1 (permalink)  
Antiguo 22/11/2004, 12:02
 
Fecha de Ingreso: marzo-2004
Mensajes: 109
Antigüedad: 20 años
Puntos: 0
Porque??

Hola amigos... de nuevo aqui.... molestandolos

tengo una duda y se que ustedes me pueden ayudar a resolver..
quiero consultar datos que e almacenado en mi base MySQL y lo hago de la siguiente manera

<?php
if (!isset($buscar)){
echo "Debe especificar un parámetro";
echo "</html></body> \n";
exit;
}
$link = mysql_connect("web", "root", "nnss");
mysql_select_db("sol", $link);
$result = mysql_query("SELECT * FROM sol_val_sup WHERE ESTADO = 'INGRESADA' ORDER BY carnet", $link) or die (msyql_error());
if ($row = mysql_num_rows($result)){
echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
echo "<td><strong>$field->name</strong></td> \n";
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["carnet"]."</td><br> \n";
echo "<td>".$row["cantidad"]."</td> \n";
echo "<td>".$row["dia"]."</td> \n";
echo "<td>".$row["mes"]."</td> \n";
echo "<td>".$row["año"]."</td> \n";
echo "<td>".$row["present_a"]."</td> \n";
echo "<td>".$row["lugar_entrega"]."</td> \n";
echo "<td>".$row["fcha_ingreso"]."</td> \n";
echo "<td>".$row["ESTADO"]."</td> \n";
echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado!";
}
?>



todo esto me funciona perfectamente pero por cada registro que me entrega me ingresa una fila vacia en la parte superior de la tabla de resultados. quisiera saber por que se da este fenomeno... y como puedo hacer para que ya no se produsca.

por otra parte quisiera saber como hago para parametrizar el tamaño de las celdas puesto que ahora me arroja resultados pero el tamaño de las celdas es muy pequeño y en ocaciones hacen que un registro utilice hasta tres lineas...

gracias....

atte. William López
  #2 (permalink)  
Antiguo 22/11/2004, 13:13
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 4 meses
Puntos: 0
Yo veo dos cosas raras:

1.- No veo muy logico escribir <br> entre una celda y otra (entre un </td> y un <td>)
mira el <br> que tienes despues de escribir lo de $Row["carnet"] que a lo mejor se te ha colao.

2.- (La mas importante) En la primera iteración del bucle do $Row tiene el valor del numero de registros, valor que cogiste con num rows, por lo que no tiene sentido $Row["carnet"] ni ningun otro. Hasta que no finaliza la primera iteracion no coges un registro, vamos , en definitiva, que en vez de hacer :

do{.........................}while ($row=mysql_fetch_array($result))

haz:
while($row=mysql_fetch_array($result)) {..................................}


Supongo que usando esta otra forma las cosas te iran mejor
  #3 (permalink)  
Antiguo 22/11/2004, 14:57
 
Fecha de Ingreso: marzo-2004
Mensajes: 109
Antigüedad: 20 años
Puntos: 0
Gracias

agradesco tu intencion.... pero fijate que no me a corrido d ela manera que me sujeriste....
nose si tienes otra solucion para mi.. haaa el herror que me da es el siguiente

Parse error: parse error, unexpected '}' in c:\appserv\www\serv_sersa\buscador_val_sup.php on line 46


gracias...

espero puedas ayudarme
  #4 (permalink)  
Antiguo 23/11/2004, 03:09
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 4 meses
Puntos: 0
hombre, pero eso es un error de compilacion, vamos sintactico, es decir, que por lo que dice parece que hay una llave de mas "}", revisalo, porque desde luego lo que yo te dije es esencial para que te funcione bien, ahora solo falta que escribas bien el codigo, y no tendras problemas.
Si quieres envia el codigo que tienes ahora y te echo una mano.
  #5 (permalink)  
Antiguo 23/11/2004, 15:54
 
Fecha de Ingreso: marzo-2004
Mensajes: 109
Antigüedad: 20 años
Puntos: 0
Gracias

Quiero agradecer kurlax por tomarse el tiempo en especificarme ... donde podria estar mi herror.. me a servido de mucho.. realmente el herror radicaba en un pequeño detalle que se me estaba escapando.... y este era como bien lo dijo Kurlax

1.- No veo muy logico escribir <br> entre una celda y otra (entre un </td> y un <td>).

quitando el <br> se corrigio el problema...

ahora tambien consulte la forma de parametrizar el tamaño de las celdas que separan los campos.... nose si de la forma como exprese.. se pude parametrizar o hay que hacerlo de otra manera....


gracias...
  #6 (permalink)  
Antiguo 24/11/2004, 02:55
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 4 meses
Puntos: 0
pues para parametrizar el tamaño de las celdas a la hora de mostrar la tabla en pantalla puedes indicar tanto el ancho como el alto de cada una así:

<td width="ancho" heigth="alto">

Si en ancho y alto pones solo un numero, sin especificar las unidades creo que se asume que indicas "numero de pixeles".
  #7 (permalink)  
Antiguo 24/11/2004, 16:05
 
Fecha de Ingreso: marzo-2004
Mensajes: 109
Antigüedad: 20 años
Puntos: 0
ok

Gracias...
ahora... quiero comentarte que realice los cambios de la siguite manera... y me dio un error.. quisiera que me ayudaras en el aspecto de corregir eel porque el resultado no es el esperado

<?php
if (!isset($buscar)){
echo "Debe especificar un parámetro";
echo "</html></body> \n";
exit;
}
$link = mysql_connect("web", "root", "nnss");
mysql_select_db("sol", $link);
$result = mysql_query("SELECT * FROM sol_val_sup WHERE ESTADO = 'INGRESADA' ORDER BY carnet", $link) or die (msyql_error());
if ($row = mysql_num_rows($result)){
echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
echo "<td><strong>$field->name</strong></td> \n";
}
echo "</tr> \n";
do {
echo "<td width="517" heigth="20"> \n";
echo "<td>".$row["EXTENSION"]."</td> \n";
echo "<td>".$row["CARGO"]."</td> \n";
echo "<td>".$row["DEPARTAMENTO"]."</td> \n";
echo "<td>".$row["NOMBRE"]."</td> \n";
echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado!";
}
?>

espero puedas ayudarme.....

gracias de nuevo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:54.