Foros del Web » Programando para Internet » PHP »

Obtener contenido por ID

Estas en el tema de Obtener contenido por ID en el foro de PHP en Foros del Web. Hola, buenas, espero que este tema no este repetido en el Foro. Mi pregunta es la siguiente. Tengo un echo '<div id=titulo>'.$registro['titulo'].'</div>' donde $registro['titulo'] es ...
  #1 (permalink)  
Antiguo 15/02/2012, 17:29
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta Obtener contenido por ID

Hola, buenas, espero que este tema no este repetido en el Foro. Mi pregunta es la siguiente. Tengo un echo '<div id=titulo>'.$registro['titulo'].'</div>' donde $registro['titulo'] es un registro que aparece de forma aleatoria que se extrae de mi base de datos. Después tengo un button que ejecuta un PHP donde hay un UPDATE, en ese UPDATE necesito establecer que el WHERE sea donde MICAMPOTITULO = el_contenido_del_ID_titulo. Necesito que sea en PHP para poder tener un variable que incluir en el = del WHERE. Todo esto es para poder hacer un +1 en un campo cuando pulsan el botón donde titulo sea igual al titulo que ha salido anteriormente de forma aleatoria. La forma que se me había ocurrido es que el código lea lo que hay dentro del <div id=titulo> para crear una variable con ese valor y ponerlo en el UPDATE. Espero que alguien me pueda ayudar, y si necesitáis más código lo pongo.
  #2 (permalink)  
Antiguo 15/02/2012, 18:18
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Obtener contenido por ID

si no necesitas mucha seguridad puedes pasarle el id del titulo.

Código PHP:
Ver original
  1. <a href="update.php?id=<?php echo $registro['id']?>">Votar</a>
  #3 (permalink)  
Antiguo 15/02/2012, 18:59
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Gracias por contestar tan rápido, no se si no te entiendo yo a ti o no me hice explicar bien.
Después de hacer mi conexión con el servidor, el bucle while... tengo echo '<div id="titulo">'.$registro['titulo'].'</div>'; depués tengo <input type="button" id="aceptar" onclick="location.href='aceptar.php';" value="Ok" />

Mi archivo aceptar.php es el siguiente:
<?php
// despues de hacer mi conexion

mysql_query("UPDATE mitabla SET ok = + 1 WHERE titulo = 'valor del titulo aleatorio' ");
?>

Si uso .$registros['titulo']. no me funciona asi que no se que poner en 'valor del titulo aleatorio' para que encuentre la coincidencia con mi base de datos. He probado dandole a titulo un valor que coincida con mi los de mi base de datos y el código está perfecto, el problema es que necesito que sea una variable y no un valor específico.
  #4 (permalink)  
Antiguo 15/02/2012, 22:25
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Obtener contenido por ID

no te sirve por que seguramente titulo tiene acentos, eñes y otros caracteres que no acepta la url, por eso te recomende hacerlo por el id del titulo lo cual sería lo más correcto.
  #5 (permalink)  
Antiguo 16/02/2012, 09:12
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Gracias, pero aun así que hago luego con aceptar.php que tu llamas update.php (creo) ?

Lo que se me ocurrió es que puedo hacer con javascript getElementById("titulo") y luego en el otro archivo aceptar.php le digo que $titulo="<script> document.write(titulo) </script>"; Funcionaría?

Última edición por Walser11; 16/02/2012 a las 09:29
  #6 (permalink)  
Antiguo 16/02/2012, 10:12
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Obtener contenido por ID

¿has probado en enviar el ID como un input tipo hidden? Solo necesitarías hacer el input tipo button como submit, y que cada while se convierta en un form. Te desaconsejo que mezcles JavaScript para variables en PHP, mejor todo en uno u otro, y complementarse en funcionalidades (ejemplo, un form en html con validación en JavaScript y acción PHP sobre MySQL).
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #7 (permalink)  
Antiguo 16/02/2012, 10:24
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Lo del Javascript lo dejé, y probé como me dijo memoadian pasando la variable por la URL y recibiendola en el otro, pero no funciona o lo hago mal, que también es posible.
No sabría hacer que cada while se convierta en un form, sinceramente.
Pongo <a href="aceptar.php?titulo=<?php echo $registro['titulo']; ?>"/> y en el otro lado $_GET["$registro['titulo']"] pero no reconoce $registro['titulo'] no lo lee...

Última edición por Walser11; 16/02/2012 a las 10:32
  #8 (permalink)  
Antiguo 16/02/2012, 10:43
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Obtener contenido por ID

La sentencia está correcta, lo que falla es el GET porque la variable se llama titulo!!! Prueba así:

Código HTML:
Ver original
  1. <a href="aceptar.php?titulo=<?php echo $registro['titulo']; ?>"/>

Código PHP:
Ver original
  1. $_GET["titulo"];

A ver ahora!
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #9 (permalink)  
Antiguo 16/02/2012, 10:58
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Sigue sin funcionar... Voy a ver si sigo investigando y saco algo. Gracias por todo
Cuando pulso el button lo que sale en la URL es /aceptar.php?titulo=

Última edición por Walser11; 16/02/2012 a las 11:12
  #10 (permalink)  
Antiguo 16/02/2012, 12:05
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Obtener contenido por ID

Ponme el código desde el que obtienes el valor que asignas a $registro['titulo'] antes de pasarlo al botón con el <a href ... />
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #11 (permalink)  
Antiguo 16/02/2012, 12:19
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

<?php

//después de mi conexion

$tabla = mysql_query("SELECT titulo,campo2 FROM tabla ORDER BY RAND() LIMIT 1");

while ($registro = mysql_fetch_array($tabla)) { // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen

echo '<div Id="titulo">'.$registro['titulo'].'</div>';
echo '<div Id="campo2">'.$registro['campo2'].'</div>';

} // fin del bucle de ordenes

mysql_free_result($tabla); // libera los registros de la tabla

?>

Gracias por la ayuda ;)
  #12 (permalink)  
Antiguo 17/02/2012, 02:24
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Obtener contenido por ID

Buenos días!!! he probado tu código con los dos ficheros y me funciona, a falta de hacer el +1 ese que harías después, prueba lo siguiente:

Fichero principal.php
Código PHP:
Ver original
  1. $link = mysql_connect('tu-host', 'tu-user', 'tu-password');
  2. if (!$link) {
  3.     die('Could not connect: ' . mysql_error());
  4. }
  5. //echo 'Connected successfully';
  6. $db_selected = mysql_select_db('tu-database', $link);
  7. if (!$db_selected) {
  8.     die ('Can\'t use tu-database : ' . mysql_error());
  9. }
  10. //después de mi conexion
  11.  
  12. $tabla = mysql_query("SELECT titulo,campo2 FROM tabla ORDER BY RAND() LIMIT 1");
  13.  
  14. while ($registro = mysql_fetch_array($tabla)) { // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
  15.  
  16. echo '<div Id="titulo">'.$registro['titulo'].'</div>';
  17. echo '<div Id="campo2">'.$registro['campo2'].'</div>';
  18. echo '<a href="aceptar.php?titulo='.$registro["titulo"].'"/>Aceptar</a>';
  19.  
  20. } // fin del bucle de ordenes
  21.  
  22. mysql_free_result($tabla); // libera los registros de la tabla
  23.  
  24. mysql_close($link);

Fichero aceptar.php
Código PHP:
Ver original
  1. echo $_GET["titulo"];

Espero que se solucione tu problema con lo anterior. Buen viernes!!
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #13 (permalink)  
Antiguo 17/02/2012, 07:47
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Al principio no me funcionaba, pero entonces se me ocurrió meter el input type="button" dentro del bucle y ahora funciona!!! Muchísimas gracias por la ayuda!!! eres un crack!

Última edición por Walser11; 17/02/2012 a las 08:56
  #14 (permalink)  
Antiguo 19/02/2012, 12:50
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Obtener contenido por ID

¡Para eso estamos! me alegro que ya te funcione!!!
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #15 (permalink)  
Antiguo 20/02/2012, 16:48
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Vuelvo a este tema porque tengo justo un problema con el codigo anterior. Tengo dentro del bucle while varios button y echo '<a href="aceptar.php?titulo='.$registro["titulo"].'"/>Aceptar</a>'; distinto para cada uno y necesito que estén juntos...No se me ocurre como hacerlo, lo intenté con divs pero es un lío. El problema es que a lo mejor pincho en uno de los botones y no se activa el envío al otro archivo...¿Se os ocurre algo? Gracias por todo
  #16 (permalink)  
Antiguo 24/02/2012, 05:10
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Obtener contenido por ID

No te he entendido muy bien, exactamente ¿qué necesitas? ¿que te aparezca un listado de varios con su botón aceptar al lado o un único botón tras seleccionar con casillas checkbox varios de ellos?
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #17 (permalink)  
Antiguo 24/02/2012, 10:20
 
Fecha de Ingreso: febrero-2012
Mensajes: 24
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Obtener contenido por ID

Fichero principal.php
Código PHP:
Ver original
  1. $link = mysql_connect('tu-host', 'tu-user', 'tu-password');
  2. if (!$link) {
  3.     die('Could not connect: ' . mysql_error());
  4. }
  5. //echo 'Connected successfully';
  6. $db_selected = mysql_select_db('tu-database', $link);
  7. if (!$db_selected) {
  8.     die ('Can\'t use tu-database : ' . mysql_error());
  9. }
  10. //después de mi conexion
  11.  
  12. $tabla = mysql_query("SELECT titulo FROM tabla ORDER BY RAND() LIMIT 1");
  13.  
  14. while ($registro = mysql_fetch_array($tabla)) { // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
  15.  
  16. echo '<div Id="titulo">'.$registro['titulo'].'</div>';
  17.  
  18.     echo"<input type=\"button\" id=\"aceptar\" onclick=\"location.href='aceptar.php'\" value=\"Aceptar\" />"
  19.  .""; echo '<a href="aceptar.php?titulo='.$registro["titulo"].'"/>';
  20.  
  21. } // fin del bucle de ordenes
  22.  
  23. mysql_free_result($tabla); // libera los registros de la tabla
  24.  
  25. mysql_close($link);

Ese es mi código. Yo quería que envíe el valor $registro["titulo"] (que lo hace) si y solo si se pincha en el button que tiene arriba.

Etiquetas: contenido, registro, variables
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 10:53.