Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: _vicho_ en 18 Octubre 2012, 18:42 pm



Título: como puedo igualar un registro con una variable php?
Publicado por: _vicho_ en 18 Octubre 2012, 18:42 pm
hola buen día! necesito igualar un registro con una variable,

si tengo $estado y abro una conexion con la db y luego selecciono la tabla y de ahi entro al ID y selecciono el campo VALOR y debería igualarlo con $estado pero no se como, le estuve moviendo un poco pero no se como igualarlo si me explico jeje

este codigo es el q estoy tratando de poner a trabajar:

$conexion=mysql_connect("localhost","usr,"pass") or
  die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select * from ANIMALES
                       where ID='$_id'",$conexion) or
  die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{

$conexion=mysql_connect("localhost","usr","pass")
  or die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select * from ANIMALES
                       VALOR='$estado',$conexion) or die("Problemas en el select:".mysql_error());
mysql_close($conexion);
}

esto es lo que tengo pero la verdad no tengo idea de como agarrar un valor de la db e imprimirlo en una variable, lo que quiero hacer es poder cambiar una imagen con este codigo

<img src="css\images\compra<?phpecho $_estado;?>.png" />

si hay una manera mas simple me la podrían explicar???


muchas gracias por su tiempo espero sus respuestas


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: Shell Root en 18 Octubre 2012, 21:23 pm
No entiendo porque abrir la base de datos 2 veces :S

:http://blog.unijimpe.net/conectar-php-con-mysql/


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: Yoghurt en 18 Octubre 2012, 21:35 pm
Te recomiendo especificar el registro que quieres acceder de la tabla ('value' en el código). Si entendí bien, lo que quieres hacer se puede expresar así:

Código:
<?
// url -> http://.../?id=imageId
$id = $_GET['id'];

$conexion=mysql_connect("localhost","usr,"pass") or
    die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
    die("Problemas en la selección de la base de datos");
$registros=mysql_query("SELECT `value` from `ANIMALES` WHERE `ID`='$id'",$conexion) or
    die("Problemas en el select:".mysql_error());
if (mysql_num_rows($resultado)) {
    $estado = mysql_result($resultado, 0);
}

echo "<img src="css\images\compra$estado.png" />";
?>


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: _vicho_ en 18 Octubre 2012, 22:54 pm
Shell Root es que como e tenido problemas la primera conexion es para escoger entre todos los ID el que necesito y ya la segunda conexion es la que me iguala el registro con la variable. muchas gracias x la liga q me mandaste la estoy estudiando  ;D

Yoghurt estoy probando tu código gracias por la respuesta amigo. lo q solo no entiendo es esta aprte url -> http://.../?id=imageId y me imagino q debo cambiar mi campo VALOR por VALUE verdad?

ya cuando tenga el scrip q necesito se los are llegar gracias a todos


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: Yoghurt en 19 Octubre 2012, 01:18 am
lo q solo no entiendo es esta aprte url -> http://.../?id=imageId
ese era un comenterio aludiendo a que (probablemente) se accedió a ese script por medio de una URL con parametros GET (?id=imageID) los cuales obtengo mediante $_GET['id'].

me imagino q debo cambiar mi campo VALOR por VALUE verdad?
No se como se llama "tu campo" por eso solo le he puesto `value` (en la consulta sql) y me refiero al campo en donde tienes almacenado la informacion para complementar el link de la imagen.


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: _vicho_ en 19 Octubre 2012, 05:31 am
aun no se cual es mi error jeje cuando modifico la variable $_estado =1 o  a 0 me cambia la imagen pero no me iguala el registro del campo VALOR  de la tabla ANIMALES con la variable $_estado. aqui les dejo lo que ise en el dia  :-[

<span class="read-more">
<?php                                 
if ($_estado = 0)   { echo '<a id="fancybox-manual-cebu"href="javascript:;"> <img src="css\images\compra.png" alt="" /></a> ';
      } else {      echo '<img src="css\images\compra2.png" alt="" /></a> ';
}                         
?>                                           
              </span>               
                 </div>
</body>
</html>


<?php

$_id = 2;



$conexion=mysql_connect("localhost","usr","pass") or
  die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select 'VALOR' from 'ANIMALES'
                       where ID='$_id'",$conexion) or
  die("Problemas en el select:".mysql_error());


if (mysql_query($resultado))
{
   $resultado == $_estado;
 
 

mysql_close($conexion);

}
?>



estoy serca muchas gracias por su ayuda, solo les pido un enpujon mas!


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: Yoghurt en 19 Octubre 2012, 05:53 am
@_vicho_ creo que el problema abarca más alla del codigo (eres tu) pues no te entiendo :S y está demás decirte que el traducir o intentar a fuerza comprender lo que quieres no es productivo.

Hasta el momento tengo que quieres que al cambiar la variable "$_estado" también se cambie el valor en la base de datos ??
para editar en la base de datos usa: $sql = "UPDATE `ANIMALES` SET `VALOR`='$_estado' WHERE `ID`='$_id'";

Intenta plantear tu problema desde un punto claro, explicando lo que quieres y que es lo que te sale mál.


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: _vicho_ en 19 Octubre 2012, 08:33 am
vale tengo 1 producto a vender, es único, no como en mercado libre q hay obcion de vender mas del mismo, cuando tu entras y clic-eas la imagen comprar.png, te abre otro html donde esta la descripción del animal y un formulario para mandarme un correo con los datos del comprador, al momento de dar clic en enviar, se manda el formulario a mi correo y se actualiza la db cambiando el registro en el campo VALOR de 0 a 1 con este codigo:
<?php

$_id = 2;
$_vendido = 1;
$_nombre = Cebu;
$conexion=mysql_connect("localhost","usr","pass") or
  die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select * from ANIMALES
                       where ID='$_id'",$conexion) or
  die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{

$conexion=mysql_connect("localhost","usr","pass")
  or die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("update ANIMALES
                         set VALOR= '$_vendido' where ID='$_id' AND NOMBRES= '$_nombre'",$conexion) or die("Problemas en el select:".mysql_error());
mysql_close($conexion);
}

$name=$_POST['nombre'];
$telefono=$_POST['telefono'];
$rancho=$_POST['rancho'];
$correo=$_POST['correo'];
$asunto=$_POST['asunto'];
$consulta=$_POST['consulta'];
$para='correo@correo.com;
$mensaje='
Mensaje de:
'.$name.'
su telefono:
'.$telefono.'
que compro:
'.$asunto.'
Rancho de:
'.$rancho.'
Correo:
'.$correo.' 
Comentarios:
'.$consulta.' ';
$desde='From: mail@correo.com';
ini_set(sendmail_from,'mail@correo.com');
if (mail($para,$asunto,$mensaje,$desde)){
die("Gracias, su mensaje se envio correctamente.");
}
else{
die("Error: Su información no pudo ser enviada, intente más tarde");
}
?>

eso ya funciona, lo que quiero hacer con el valor 0 y 1; el valor 0 es por llamarlo así a la venta y el valor 1 seria vendido.

la duda de este post es: en la pagina donde esta el producto debo cambiar la imagen comprar.png por vendido.png, mi pienso es leer la db de nuevo y si en la id del animal en el campo aparece 1 significa q debo cambiar la imagen,

ahorita con el if que tengo, si yo a la variable $_estado le cambio el valor 1 o 0 manualmente, la imagen se cambia pero, quiero q la misma conexión leea el valor y lo cambie automáticamente, pero el registro q hay en valor no se me guarda en la variable estado.

lo siento por no poderme explicar, no era mi intencion saturar el post. en si mi duda es eso, q el registro se guarde en la variable, asi el if identificara el valor 1 o 0 y me cambiara la imagen.

este es el codigo de la decicion que me cambia la imagen dentro del html:

<span class="read-more">
<?php                                 
if ($_estado = 0)   { echo '<a id="fancybox-manual-cebu"href="javascript:;"> <img src="css\images\compra.png" alt="" /></a> ';
      } else {      echo '<img src="css\images\venta.png" alt="" /></a> ';
}                         
?>                                           
</span></div></body></html>

y este es el codigo con el que intento conectar con la db y cambiar el valor en la variable:

<?php
$_id = 2;
$conexion=mysql_connect("localhost","usr","pass") or
  die("Problemas en la conexion");
mysql_select_db("db1",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select 'VALOR' from 'ANIMALES'
                       where ID='$_id'",$conexion) or
  die("Problemas en el select:".mysql_error());
if (mysql_query($resultado))
{
   $resultado == $_estado;
mysql_close($conexion);
}
?>

gracias por soportarme pero les agradesere de por vida si me ayudan  ;D


Título: Re: como puedo igualar un registro con una variable php?
Publicado por: _vicho_ en 20 Octubre 2012, 21:51 pm
listo ya termine este es el codigo por si alguien se encuentra con el mismo desvelo

$id = 2;

$conexion=mysql_connect("localhost","user","pass") or
  die("Problemas en la conexion");
mysql_select_db("dbprueba",$conexion) or
  die("Problemas en la selección de la base de datos");
$sacandodatos=mysql_query("select * from LATABLA where ID='$id'",$conexion) or die("Problemas en el select:".mysql_error());
$resul = mysql_fetch_array($sacandodatos);
$_estado =$resul['CAMPOQUENESESITAN'];
mysql_close($conexion);
                           
if ($_estado == 0)   { echo '<a id="fancybox-manual-cebu"href="javascript:;"> <img src="css\images\compra.png" alt="" /></a>';
      } else {      echo '<img src="css\images\compra2.png" alt="" />';
            }   
muchas gracias por darme los caminos para llegar aqui, hasta pronto