Foro de Ayuda IntercambiosvirtualeS

Foro de Ayuda IntercambiosvirtualeS (https://www.intercambiosos.org/index.php)
-   Sugerencias y Dudas (https://www.intercambiosos.org/forumdisplay.php?f=4)
-   -   Una duda sobre php y mysql (https://www.intercambiosos.org/showthread.php?t=25077)

ace ventura 05-mar-2012 17:33

Una duda sobre php y mysql
 
Hola a todos los foreros, tengo un problema con una pagina web que estoy haciendo, de antemano pido disculpas si este no es el sitio correcto para hacerla pero no vi en que parte colocarla y la puse aqui, necesito mostrar unos registros que tengo almacenados en una base de datos, para esto uso el siguiente codigo

<?php
//Conexion con la base
mysql_connect("localhost","root","");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("actas")or die("cannot select DB");
//Ejecutamos la sentencia SQL
$result = mysql_query("select * from bautizo where documento_bautizado = '$consulta'");
echo $result;
echo mysql_error();
if (mysql_num_rows($result) > 0) echo "hay resultado";
?>

Resulta que no me esta mostrando nada, y si esta trayendo resultados, ya que al ejecutar la consulta en el phpmyadmin si me muestra resultado (lo hice asi para comprobar que la sentencia estuviera bien escrita), ademas cuando imprimo el echo $result, me aparece en la pagina el siguiente texto: Resource id #3, asumo que esto indica que si esta trayendo o encontrando resultados, pero al ejecutar la linea del if, no me imprime ese echo, es mas lineas mas abajo tengo esta linea: while($row = mysql_fetch_array($result)), y no me esta mostrando ningun dato. Es como si la instruccion mysql_fetch_array() no estuviera funcionando. Estoy trabajando con xammp para Windows Version 1.6.4, se que no es la ultima version, era una que habia utilizado antes y me habia funcionado, no le hice ningun cambio a ningun archivo de configuracion, solo instale y listo. Cualquier ayuda muchas gracias de antemano.

Alambre 05-mar-2012 18:10

cuanto vale $consulta? o como la llamas y por mas que sea local, ponele valor al pass, si tiene algún nivel de seguridad no debería de responder :)
en el echo de result te convendria especificar el numero del elemento, porque debería de tomar todo el renglon,
tipo

$result = mysql_query($query);
$row = mysql_fetch_array($result);
$variable1 = "$row[nombre1]";
$variable6 = "$row[nombre6]";
$variable7 = "$row[nombre7]";
$variable8 = "$row[nombre8]";
después a esto le vas dando echo, porque seguro es posible que lo muestre como cadena
, si tenes solo un objeto, quiza lo muestre, como lo pones, pero lo mas probable es que de erro, porque es un tipo no especificado o es un array y el echo no sabe como mostrarlo

ace ventura 05-mar-2012 18:41

Que mas alambre, $consulta es el numero del documento de la persona de la cual quiero traerme todos los datos que hay en la base de datos (nombres, apellidos, sexo, edad, etc.), para el caso de mi ejemplo es 123456, es un valor tipo int en la base de datos. Lo del pass lo hago es al final, por ahora quisiera ver los datos. Voy a probar lo que me dices a ver, lo mas es que hace algun tiempo habia usado ese mismo codigo para otra aplicacion y habia funcionado bien, lo que hice fue copiar y pegar, cambiar el nombre de la base y tabla de la cual obtener los datos y ahora no quiere funcionar.

ace ventura 05-mar-2012 18:44

Mira alambre para que visualices mejor te pongo el codigo

<?php
$consulta = $_GET['documento_bautizado'];
?>

<?php
//Conexion con la base
$conexion=mysql_connect("localhost","root","");
//include('conexion.php');
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("actas",$conexion)or die("cannot select DB");

//Ejecutamos la sentencia SQL
$result = mysql_query("select * from bautizo where documento_bautizado = '$consulta'",$conexion);
echo $result;
echo mysql_error();
//$resultado1 = mysql_query("select * from bautizo where documento_bautizado = '$consulta'");
//$Resultado = mysql_num_rows($result);
if (mysql_num_rows($result) > 0) echo "hay resultado";
if($resul=mysql_fetch_array($result)){echo $resul['resul'];}
//$row = mysql_fetch_array($result)
?>


<table class="salto" border="0">
<?php
while ($row = mysql_fetch_array($result))
{
echo "<tr>";
$fecha_mysql=$row['fecha'];
$trozos=split("-", $fecha_mysql);
$temp=split(" ",$trozos[2]);
$dia=$temp[0];
$date=mktime(0,0,0,$trozos[1], $dia, $trozos[0]);
echo "<td><b>Fecha: </b>".strftime("%d-%B-%Y", $date)."</td>";
echo "<td><b>Identificaci&oacute;n: </b>".$row['documento_bautizado']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td><b>Nombres: </b>".$row['nombres_bautizado']."</td>";
echo "<td><b>Apellidos: </b>".$row['apellidos_bautizado']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td><b>Sexo: </b>".$row['sexo']."</td>";
echo "</tr>";

}
?>
</table>

Alambre 05-mar-2012 21:10

podrias ver el man de while http://php.net/manual/es/control-structures.while.php porque no entiendo el objetivo, lo probe en una tabla que tenia, pero no se si volvi a reemplazar los valores bien


<?php

function Conectarse()

{
if (!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("actas",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

//echo "algo miro si sale algo <br>";
//$consulta=1;
$result = mysql_query("select * from bautizo where documento_bautizado = '$consulta'",Conectarse());
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
$row = mysql_fetch_array($result);
//echo "algo miro si sale algo2 <br>";
//while ($row == mysql_fetch_array($result))
//{
$fecha_mysql=$row['fecha'];
$trozos=split("-", $fecha_mysql);
$temp=split(" ",$trozos[2]);
$dia=$temp[0];
$date=mktime(0,0,0,$trozos[1], $dia, $trozos[0]);
$nose=$row['documento_bautizado'];
$nombre=$row['nombres_bautizado'];
$apellido=$row['apellidos_bautizado'];
$sexo=$row['sexo'];
$fecha=strftime("%d-%B-%Y", $date);

echo "<table class=salto border=0>
<td><b>Fecha: </b>$fecha</td>
<td><b>Identificaci&oacute;n: </b>$nose</td>
</tr>
<tr>
<td><b>Nombres: </b>$nombre</td>
<td><b>Apellidos: </b>$apellido</td>
</tr>
<tr>
<td><b>Sexo : </b>$sexo</td>
</tr>
</table>";
//}
?>

Dianela 05-mar-2012 21:16

En el en vez de mysql_fetch_array

Cita:

while ($row = mysql_fetch_array($result))
{
prueba a usar mysql_fetch_assoc


PD: Lo siento, estaba respondiendo al mismo tiempo que alambre

ace ventura 05-mar-2012 21:38

Gracias por responder, ya lo solucione, pero lo mas es que de un momento a otro funciono, de tanto poner echos en todas partes, un error que tambien tenia era en el $_GET.

Tambien me dijeron que ya no se usa split que eso quedo obsoleto que ahora se usa explode.


La franja horaria es GMT -4. Ahora son las 02:25.

Desarrollado por: vBulletin® Versión 3.8.1
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.

Ad Management by RedTyger