Comunidad de diseño web y desarrollo en internet online

Como paso valores de consulta mysql a variables php?

Citar            
MensajeEscrito el 05 May 2010 03:57 pm
Disculpen soy un poco nuevo ne esto y me gustaria saber como pasar valores de una consulta en mysql a variables php...

mas detallado... io desde una pagina guardo distintos valores que ingreso en txtbox pero los envio mediante el _POST aora lo que intento hacer es voltear las cosas... que en potra página me aga la consulta y me pase los valores al textbox...
no se si me explike bien en caso de que no aganmelo saber y reexplicare mi situacion de antemano gracias =)

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 07:15 pm
Hola,

Según creo entender, lo que quieres es mostrar en un Textbox los datos obtenidos de una BD de MySQL usando variables de php.

El código php sería:

Código PHP :

//Inicializas las variables
$var1 = "";
$var2 = "";
$var3 = "";

//Suponiendo que ya tienes creada la conexión a la BD paso directamente al query MySQL y su ejecución
$query = "SELECT * FROM miTabla";
$execute = mysql_query($query, $conexion);    /* $conexion es la variable de la conexión a la BD */

//Compruebo si hay algún resultado
if($row = mysql_fetch_array($execute)){
   //Guardo los datos de la BD en las variables de php
   $var1 = $row["columna1"];
   $var2 = $row["columna2"];
   $var3 = $row["columna3"];
}
/*Aquí la búsqueda de datos en la BD es una sola vez, si quieres más de una fila te recomiendo agregar el ciclo Do-While*/


El código html sería:

Código HTML :

<html>
<head>
</head>

<body>
   <input name="txt1" type="text" value="<?php echo $var1 ?>" />
   <br />
   <input name="txt2" type="text" value="<?php echo $var2 ?>" />
   <br />
   <input name="txt3" type="texr" value="<?php echo $var3 ?>" />
</body>
</html>


Eso teniendo en cuenta que el código php está en el mismo archivo donde está el código html.

Espero haberte ayudado.

Saludos.

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 07:50 pm
si aclaraste mi duda pero me sigue marcando error:S...

<?php
include_once("./bdmysql.class.php");
$bd=new BDMySQL();

$a=$_POST["txtid"];

echo $a;

$d="";
$b="";
$c="";

$bd-> execute($sql);
$res= mysql_query($sql, $bd)

//$sql="SELECT * FROM 'compus'";
$sql= "SELECT id, marca, usuario, targetamadre, monitor, red, video, audio FROM compus";
$execute= mysql_query($res, $bd);

//comprobar resultados
if($row = mysql_fetch_array($execute))
{
$d= $row[1];
$b= $row[2];
$c= $row[3];
}
echo $d;
echo $b;
echo $c;


?>

ese es el codigo si te fijas arriva estoy incluyendo un archivo ke ese es mi conector a base de datos y todo...me sigue marcandoi error creo ke es en la conexion... y de antemano gracias si me estas ayudandoi vastante:D

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 08:04 pm
mmmm prueba ponerlo así:

Código PHP :

<?php
include_once("./bdmysql.class.php");
$bd=new BDMySQL();

$a=$_POST["txtid"];

echo $a;

$d="";
$b="";
$c="";

//$sql="SELECT * FROM 'compus'";
$sql= "SELECT id, marca, usuario, targetamadre, monitor, red, video, audio FROM compus";

$res= mysql_query($sql, $bd)

//comprobar resultados
if($row = mysql_fetch_array($res)) {
   $d= $row[1];
   $b= $row[2];
   $c= $row[3];
}
echo $d;
echo $b;
echo $c;
?>


Primero declara la variable $sql, le asignas la sentencia y luego la usas.

Por cierto, no se como se usa el BDMySQL. Yo hago mi propia conexión a la BD.

Prueba y me dices.

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 08:09 pm
Ahora que me fijo...

Cuando tomes los valores de la BD mejor usa los nombres de las columnas para que lo tengas más claro.

Ejemplo:

$d = $row["id"];
$b = $row["marca"];
$c = $row["usuario"];

¿Qué error te muestra exactamente?

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 08:11 pm
no me funciona... el BDMySQL es la instancia ala clase que inclui arriva esa es la que contiene la conexion el pasword a que base de datos se va a conectar y todos esos datos... solo para ahorrarme codigo... y si funciona pk al insertar datos los inserta perfectamente... no me funciona asi... alguna idea? o si gustas hacerlo sin tomar en cuenta mi ejemplo:S

el error de mi codigo me lo marca en la linea de codigo del SELECT

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 08:13 pm
Pero que error te muestra exactamente?

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 08:19 pm
parse error: syntax error, unespected T_VARIABLE in c:/appserv/www/proecto/bd/vercompu.php on line 20



ese es el error

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 08:34 pm
Ok, te falta un ; en esta linea...

$res= mysql_query($sql, $bd)

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 08:59 pm
ok ya corregi esos errores de conexion amigo:D aora me marca un error en la linea que dise:

if($row = mysql_fetch_array($sql))
{
$d= $row["id"];
$c= $row["marca"];
$c= $row["usuario"];
}
el error me lo marca en el if... el error dise:

Warining: mysql_fetch_array():suplied argument is not valid MySQL result resource in c:/appserv/www/proyecto/bd/vercompu.php on line 22


deveras me estas siendo de gran ayuda:D gracias

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 09:06 pm
ok ya corregi esos errores de conexion amigo:D aora me marca un error en la linea que dise:

if($row = mysql_fetch_array($sql))
{
$d= $row["id"];
$c= $row["marca"];
$c= $row["usuario"];
}
el error me lo marca en el if... el error dise:

Warining: mysql_fetch_array():suplied argument is not valid MySQL result resource in c:/appserv/www/proyecto/bd/vercompu.php on line 22


deveras me estas siendo de gran ayuda:D gracias

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 09:17 pm
Debe ser porque estas colocando la variable $sql en el if (asumo que es alli donde está la sentencia) debes colocar la variable que usas para ejecutar esa sentencia ($res = mysql-query($sql, $bd)), si no has cambiado el codigo debería ser:

if($row = mysql_fetch_array($res))

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 09:35 pm
El codigo actual es el siguiente:

<?php
include_once("./bdmysql.class.php");
$bd=new BDMySQL();

$a=$_POST["txtid"];

echo $a;

$d="";
$b="";
$c="";



$sql="SELECT id, marca, usuario, targetamadre, monitor, red, video, audio FROM 'compus'";
$bd->execute=($sql);

//comprobar resultados
if($row = mysql_fetch_array($sql))
{
$d= $row["id"];
$b= $row["marca"];
$c= $row["usuario"];
}
echo $d;
echo $b;
echo $c;


?>

disculpa si no capto...jajaja:D de nuevo gracias

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 May 2010 09:39 pm
mmmm tendrias que buscar según esa clase BDMySQL como obtener los datos.

Por ahora, lo que te puedo decir es que pruebes poniendo esta linea asi. No se si funcione, como te dije no conozco esa clase.

if($row = mysql_fetch_array($bd))

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 05 May 2010 09:48 pm
ok are el intento de esa manera.:D en caso de que no funcione io te aviso:D gracias por ayudarme...

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 May 2010 03:11 pm
OIE DISCULPA NO ME SALIO DE NINGUNA MANERA... COMENZARE OTRAVES ESE CODIGO DESDE CERO... TOMANDO COMO REFERENCIA DE CONEXION Y ESO LA MISMA CLASE QUE AGREGUE LA QUE TU NO CONOCIAS... PERO AKI TE DEJO EL CODIGO PARA QE LA CONOSCAS :D :


<?
class BDMySQL
{
var $config;
var $msgerror;
var $error;
function BDMySQL()
{
//constructor-->
$this->config=array();
$this->config["host"]="127.0.0.1";
$this->config["user"]="root";
$this->config["pass"]="123";
$this->config["name"]="pcs";
}
function clearError()
{
$this->error=false;
$this->msgerror="";
}
function setError($text)
{
$this->error=true;
$this->msgerror=$text;
}
function execute($sql)
{
$this->clearError();
if ($cn= mysql_connect($this->config["host"],$this->config["user"],$this->config["pass"]) )
{
if ($db=mysql_select_db($this->config["name"],$cn) )
{
//inicio querry
if($rs=mysql_query($sql,$cn))
{
//todo bien
}else{
$this->setError("error sql: ".mysql_error($cn));
}
//fin querry
}else{
$this->setError("no existe base de datos");
}
mysql_close($cn);
}else{
$this->setError("NO SE PUEDE CONTESTAR");
}

}
//read
function read($sql,$fun)
{
$this->clearError();
if ($cn= mysql_connect($this->config["host"],$this->config["user"],$this->config["pass"]) )
{
if ($db=mysql_select_db($this->config["name"],$cn) )
{
//inicio querry
if($rs=mysql_query($sql,$cn))
{
//todo bien
while($arr=mysql_fetch_array($rs))
{
$fun($arr);
}
mysql_free_result($rs);
}else{
$this->setError("error sql: ".mysql_error($cn));
}
//fin querry
}else{
$this->setError("no existe base de datos");
}
mysql_close($cn);
}else{
$this->setError("NO SE PUEDE CONTESTAR");
}

}



}
?>



ESA ES LA CLASE LA CUAL NO CONOCIAS... :D Y PARA INSERTAR FUNCIONA PERFECTAMENTE...

Por marioparra

43 de clabLevel



 

msie8
Citar            
MensajeEscrito el 06 May 2010 03:13 pm
ESPERO EM PUEDAS AYUDAR CON ALGUNA SUGERENCIA DE CODIGO DE ALGUNA MANERA DE COMO HACERLO DE ANTEMANDO Y POR LO YA ECHO MUCHISIMAS GRACIAS...

Por marioparra

43 de clabLevel



 

msie8
Citar            
MensajeEscrito el 06 May 2010 03:58 pm
Una pregunta, esa clase la desarrollaste tú?

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 06 May 2010 04:31 pm
A ver, primero que nada, por favor tómate el tiempo de formatear el código, es realmente un engorro leerlo así. Gacias.

Segundo, veo que tienes una funcion read($sql, $fun); esta es la que te permitirá obtener los datos de la BD que necesitas.

El código php quedaría así:

Código PHP :

<?php
include_once("./bdmysql.class.php");
$bd=new BDMySQL();

$a=$_POST["txtid"];

echo $a;

$row = array();
$d="";
$b="";
$c="";

$sql="SELECT id, marca, usuario, targetamadre, monitor, red, video, audio FROM 'compus'";

//Usas la función read de la clase BDMySQL, la cual necesita como parámetros la sentencia sql ($sql) y el array donde estará el resultado ($row)
$bd->read=($sql, $row);

//Compruebas si la cantidad de elementos es distinta a 0
if(count($row) != 0) {
  //Asignas los datos de la BD a las variables de php
   $d= $row["id"];
   $b= $row["marca"];
   $c= $row["usuario"];
}

echo $d;
echo $b;
echo $c;
?>


Pruébalo y me cuentas

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 06 May 2010 05:16 pm
ya lom probe y me despliega este error


Parse error: syntax error, unexpected ',' in C:\AppServ\www\proyecto\bd\pruebaver.php on line 14


que vendria ciendo esta linea

$bd->read=($sql, $row);

gracias pormtu paciencia

Por marioparra

43 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 May 2010 03:50 pm
Ya encontre la respuestaaa:D gracias fuiste de gran ayuda... pero a los dos nos faltaba un detalle... solomuna function miraaa ai esta el codigo para que lo chekes... ya funciona bien... graciaaaas:D



<?php include_once("./bdmysql.class.php");
$bd=new BDMySQL();
//if(isset($_POST["txtid"]))
//{
// SE MANDARON LOS DATOS
//}else{
// PONER FORMULARIO
//}

$a=$_POST["txtid"];

$row = array();

function buscar($arr)
{
global $row;
$row=$arr;
//print_r($arr);
}

$d="";
$b="";
$c="";
$e="";
$f="";
$g="";
$h="";
$i="";
$sql="SELECT * FROM compus where id=$a";

//Usas la función read de la clase BDMySQL, la cual necesita como parámetros la sentencia sql ($sql) y el array donde estará el resultado ($row)
$bd->read($sql, "buscar");
//Compruebas si la cantidad de elementos es distinta a 0
if(count($row) != 0) {
//Asignas los datos de la BD a las variables de php
$d= $row["id"];
$b= $row["marca"];
$c= $row["usuario"];
$e= $row["targetamadre"];
$f= $row["monitor"];
$g= $row["red"];
$h= $row["video"];
$i= $row["audio"];
}else{
echo "id no existente o sin valores asignados";
}
echo " datos de la maquina<br>";
echo "ID<br>";
echo $d;
echo "Marca<br>";
echo $b;
echo "Usuario<br>";
echo $c;
echo "Tarjetamadre<br>";
echo $e;
echo "Monitor<br>";
echo $f;
echo "Red<br>";
echo $g;
echo "Video<br>";
echo $h;
echo "Audio";
echo $i;


?>


pd.... nunca supe como agregar codigo asi con colores y todo como tu lo ponias... como te dije soy nuevo en esto... disculpa

Por marioparra

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2010 05:08 pm
Excelente! muy bien. :D

Por ironpopcorn

51 de clabLevel



 

pensando

firefox
Citar            
MensajeEscrito el 21 Oct 2011 10:27 pm
hola soy nuevo en el foro me podias ayuadar e visto algunos ejemplos ..
miproblema es el siguiente hago una buskeda en base de datos y me arroja los resultados hasta ay todo bien... mi pregunta estoy imprimirndo esas variables en un <td> <php variable ?> </td> como recupero esse campo ,,,,,,,,,,,, se puede???

Por titicon

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2011 10:40 pm
si se puede solamente tienes que poner esos valores dentro de variables...

no recuerdo bien le codigo por ke este tema es de hace aprox un año y medio... pero io lo ise en en la pagina que ise en aquel tiempo deja me doy una refrescada y te pongo el codigo... el punto es que debes de hacer ke cuando ahgas la consulta esos datos los deposite en variables... es con un foreach y ya esas variables las m,anejas a tu gusto dentro del campo que quieras,,, saludos y suerte

Por marioparra

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Oct 2013 11:32 pm
El postestá bastante atrasado, pero de todos modosquiero agradecer, porque aunque seade años atrás, me ayudó bastanteactualmente. Esto estaba buscando. "Revertir" una consulta y funcionó de maravilla.

Por Mischief

1 de clabLevel



Genero:Masculino  

firefox

 

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