Foros del Web » Programando para Internet » PHP »

Mostrar nombre recoger otro valor

Estas en el tema de Mostrar nombre recoger otro valor en el foro de PHP en Foros del Web. Tengo un problemilla en esto, este código es para recoger el nombre y el id de la categoría de un producto que yo quiero añadir ...
  #1 (permalink)  
Antiguo 22/08/2011, 07:39
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Mostrar nombre recoger otro valor

Tengo un problemilla en esto, este código es para recoger el nombre y el id de la categoría de un producto que yo quiero añadir a mi base de datos, el problema es que no se como coger el idcategoria si en mi select solo muestro el nombre de la categoría.
No se si se entiende mucho, pero en la pagina se ve la lista de nombres de categoría, entonces lo que yo quiero es que cuando envié el formulario, se envié el id de esa categoría y no su nombre.

Código PHP:
$sql="SELECT nom FROM categories"; 
$result=mysql_query($sql, $link);
$sql="SELECT idcategoria FROM categories";
$result3=mysql_query($sql, $link);
<form method="post" action="Add_producte.php">
  <div align="justify">Nom Categoria:
    <select name='idcategoria' id='idcategoria'> 
      </br>
      
      
      <?php
while (list($nom)=mysql_fetch_array($result)) 

echo 
"<option value='$nom' selected>$nom</option>"
}    
?>
    </select>
Gracias de antemano :)
  #2 (permalink)  
Antiguo 22/08/2011, 07:53
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Mostrar nombre recoger otro valor

Debes seleccionar ambos campos en tu consulta SQL y luego recoger los datos:
SELECT nom, idcategoria FROM categories

Luego en tu while:
Código PHP:
Ver original
  1. while(list($nom, $id) = mysql_fetch_array($result)) {
  2.   echo $id . ' ' . $nom;
  3. }
  #3 (permalink)  
Antiguo 22/08/2011, 07:53
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Mostrar nombre recoger otro valor

Hola compañero

Lo que tienes que hacer es lo siguiente


<?php
$sql="SELECT idcategoria as id_categoria , nom as nom_categoria FROM categories";
$result=mysql_query($sql, $link);
?>
<form method="post" action="Add_producte.php">
<div align="justify">Nom Categoria:
<select name='idcategoria' id='idcategoria'>
<?php
while ($row=mysql_fetch_array($result))
{
?>
<option value="<?php echo $row['id_categoria'];?>"><?php $row['nom_categoria'];?></option>
<?php
}
?>
</select>

y listo , solo llamas los campos que necesitas en la consulta y no tenes que hacer doble consulta para traer lo mismo

Última edición por informacionsys; 22/08/2011 a las 08:03
  #4 (permalink)  
Antiguo 22/08/2011, 08:48
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar nombre recoger otro valor

Gracias a los 2, he probado los 2 y he estado mirando pero no se porque la lista no muestra nada, es decir ni el nombre ni el id muestra la lista desplegable, es como si el select no recogiera nada de la consulta.
  #5 (permalink)  
Antiguo 22/08/2011, 09:16
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar nombre recoger otro valor

Qué error te da? Si no te da ninguno, añade esto:
$result=mysql_query($sql, $link) or die(mysql_error());

Y nos dices qué error te sale, seguramente será que la consulta no genera resultado o da algún error.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #6 (permalink)  
Antiguo 22/08/2011, 09:22
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar nombre recoger otro valor

Es que no da ningún error porque simplemente me muestra el select Nom categoría y al lado una lista desplegable vacía entonces como no puedo enviar nada, no me salta ningún error
  #7 (permalink)  
Antiguo 22/08/2011, 09:24
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar nombre recoger otro valor

Pon el código que tengas ahora mismo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #8 (permalink)  
Antiguo 22/08/2011, 09:25
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar nombre recoger otro valor

Código PHP:
<?php
include("Divs/funciones2.php");
$linkConectarse2();

$sql="SELECT idcategoria as id_categoria , nom as nom_categoria FROM categories"
$result=mysql_query($sql$link) or die(mysql_error());

?>
<form method="post" action="Add_subcategoria.php">
<div align="justify">Nom Categoria:
<select name='idcategoria' id='idcategoria'> 
<?php
while ($row=mysql_fetch_array($result)) 

?>
<option value="<?php echo $row['id_categoria'];?>"><?php $row['nom_categoria'];?></option>
<?php

?>
</select>


<br />Nom subcategoria: <input type="Text" name="Nom"><br>
<input type="Submit" name="enviar" value="Afegir subcategoria">
</form>    


<?php
if (count($_POST)>0
if(isset(
$_POST['Nom']) && !empty($_POST['Nom'])) {
    
mysql_query ("INSERT INTO subcategories (idsubcategoria, idcategoria, nom) VALUES ('null', '{$_POST[idcategoria]}', '{$_POST[Nom]}')"$link);
    } else {
    echo 
"Error, no ha introducido todos los datos";
}

?>

</body>
</html>
  #9 (permalink)  
Antiguo 22/08/2011, 09:33
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar nombre recoger otro valor

Puede ser que esa consulta no devuelva nada. Prueba a ejecutarla directamente desde la base de datos. Es que no parece que haya nada mal.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #10 (permalink)  
Antiguo 22/08/2011, 09:39
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar nombre recoger otro valor

En la base de datos hago la consulta y me devuelve la idcategoria y los nombres sin problema, así que no entiendo que puede pasar
  #11 (permalink)  
Antiguo 22/08/2011, 09:44
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar nombre recoger otro valor

Borra el select y el option y mete un echo para ver si recoge algo:
Código PHP:
Ver original
  1. echo $row['id_categoria'] . ': ' . $row['nom_categoria'] . '<br/>';

Si esto no devuelve nada, seguramente el error esté en la función de conexión que tienes ahí, porque yo no veo nada más que pueda dar error.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #12 (permalink)  
Antiguo 22/08/2011, 09:49
 
Fecha de Ingreso: mayo-2011
Ubicación: Rubi(Barcelona)
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar nombre recoger otro valor

El caso es que si lo dejo como lo tenia en un principio, si funciona pero claro en la lista desplegable me muestra solo el id y no el nombre y claro si tengo 35 categorías sin tener el nombre me es imposible saber cual es cual xD.

Entonces si antes funcionaba no tiene sentido que ahora no vaya, así que revisare todo de nuevo otra vez porque no entiendo que no funcione, gracias ;)

Etiquetas: nombre, recoger, sql, formulario
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 17:04.