Foros del Web » Programando para Internet » PHP »

Leer varios datos de una misma columna.

Estas en el tema de Leer varios datos de una misma columna. en el foro de PHP en Foros del Web. Hola buenas, veran tengo una duda, espero q puedan ayudarme. Suponiendo que esta es mi tabla: Código: ID NAME 1 Luis 1 Ramon 2 Pedro ...
  #1 (permalink)  
Antiguo 11/03/2007, 10:21
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Leer varios datos de una misma columna.

Hola buenas, veran tengo una duda, espero q puedan ayudarme.
Suponiendo que esta es mi tabla:

Código:
ID NAME 
1  Luis 
1  Ramon 
2  Pedro 
1  Javier
Como podria aplicar una consulta pidiendole que me muestre en vez de uno, todos los nombres elegidos de la cuenta id = 1?

He intentado hacer esto con el código:
Código PHP:
<?php 
$conn 
mysql_connect("localhost","root","root"); 
mysql_select_db("realm",$conn); 

$ssql "SELECT name FROM account WHERE id="1"; 
$result = mysql_query($ssql,$conn); 
$row = mysql_fetch_assoc($result);

$_SESSION['Name1'] = $row['name1'];
$_SESSION['Name2'] = $row['name2'];
$_SESSION['Name3'] = $row['name3'];
?> 

Tus nombres son:
<?php echo $_SESSION["
Name1"]?>
<?php echo $_SESSION["
Name2"]?>
<?php echo $_SESSION["
Name3"]?>
No se si es muy complicado lo que pretendo hacer.
Gracias de todas formas.

Un saludo ;)
  #2 (permalink)  
Antiguo 11/03/2007, 11:34
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Leer varios datos de una misma columna.

Sucede que tienes que recorrer los resultados (generalmente con un while)
Código PHP:
<?

$i
=0
while (
$row mysql_fetch_assoc($result))
{
    
$_SESSION['Name'.$i]=$row['name'];
    
$i++;

}

?>
Saludos
  #3 (permalink)  
Antiguo 11/03/2007, 12:06
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

podrias ponerme un ejemplo por favor?
es q no se muy bien como hacerlo.

Gracias de todas maneras.
  #4 (permalink)  
Antiguo 11/03/2007, 12:42
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Leer varios datos de una misma columna.

Código PHP:
<?php 
$conn 
mysql_connect("localhost","root","root"); 
mysql_select_db("realm",$conn); 

$ssql "SELECT name FROM account WHERE id='1'";
$result mysql_query($ssql,$conn);

echo 
"Tus nombres son:<br /><br />";
$i 1;
while(
$row mysql_fetch_array($result)){
   
$_SESSION['Name'.$i] = $row['name']; 
   echo 
$row['name']."<br />";
   
$i++;
}
?>
  #5 (permalink)  
Antiguo 11/03/2007, 16:07
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

Código:
Me sale esto:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ..\b1.php on line 10

la linea 10 es esta: while($row = mysql_fetch_array($result)){
arreglado gracias ;)
  #6 (permalink)  
Antiguo 11/03/2007, 17:50
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

habria alguna manera de identificar cada nombre individualmente para meterlos en un combo por ejemplo?
algo asi:
Código PHP:
<?php 
$conn 
mysql_connect("localhost","root","root"); 
mysql_select_db("realm",$conn); 

$ssql "SELECT name FROM account WHERE id='1'";
$result mysql_query($ssql,$conn);

echo 
"Tus nombres son:<br /><br />";
$i 1;
while(
$row mysql_fetch_array($result)){
   
$_SESSION['Name'.$i] = $row['name']; 
   echo 
$row['name']."<br />";
   
$i++;
}
?> 

<script language="JavaScript">
 function ComboC()
  {
    var s1=document.getElementById('combo');
s1.options[1]=new Option("<?php echo $_SESSION['Name'.$i]?>","1","1");
s1.options[2]=new Option("<?php echo $_SESSION['Name'.$i]?>","2","2");  
s1.options[3]=new Option("<?php echo $_SESSION['Name'.$i]?>","3","3");       
    s1.selectedIndex=0;
  }
</script>


<body onLoad="ComboC()">
<label>
<select name="combo" id="combo">
  <option>Elige tu nombre</option>
</select>
</label>
</body>
Gracias y un saludo.
  #7 (permalink)  
Antiguo 11/03/2007, 19:57
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Leer varios datos de una misma columna.

Nononono! déjate de javascript! pensé que querías almacenar las variables en sesiones para poderlas manejar por todas tus URLs pero veo que no. Ahí va el código, creo que ahora sí te va a funcionar:

Código PHP:
<?php 
$conn 
mysql_connect("localhost","root","root"); 
$sel mysql_select_db("realm",$conn); 

$ssql "SELECT name FROM account WHERE id='1'";
$result mysql_query($ssql);

echo 
"Tus nombres son:<br /><br />";
//Aqui ponemos el select:
echo "<select name='nombres'>";
//y lo llenamos:
$i 1;
while(
$row mysql_fetch_array($result)){
   
$nombre trim($row['name']); //le quitamos los espacios de delante y detrás
   
echo "<option value='".$nombre."'>".$nombre."</option>";
   
$i++;
}
//cerramos el combo box:
echo "</select>";
?>
En este caso no se ha usado la variable $i, pero puedes usarla para enumerar los nombres dentro del select, o lo que quieras.

Espero que te funcione.

ArgoN
  #8 (permalink)  
Antiguo 11/03/2007, 22:14
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

Muchisimas gracias, ahora me va todo como queria.
Pero tengo un pequeño problema .. y te vas a reir pero es asi .. e hecho mil pruebas, cuando cambio que busque en vez de en la tabla "account" en la tabla "character" no devuelve ningun resultado.

He hecho pruebas de no tocar nada excepto eso y cuando esta account si funciona pero con la otra no (la misma tabla cambiada de nombre incluso).

No lo entiendo pero me pasa, a ver si me puedes decir algo (lo mismo es algo muy noob).

Mil gracias por tu paciencia.
Un saludo.

EDIT: He hecho pruebas con la misma tabla cambiada de nombre y funciona perfectamente, pero unicamente con "character" no funciona :(
No lo entiendo, la tabla existe y el nombre esta escrito correctamente (corta y pega).

EDIT2: He seguido haciendo pruebas, llamandola "ch" funciona, llamandola "cha" funciona pero a partir de "char" ya no me reconoce nada.
¿Puede ser que lo reconozca como una orden?? aun asi e intentado metiendolo entre "" o '' y tampoco.

Última edición por zack7; 11/03/2007 a las 22:29
  #9 (permalink)  
Antiguo 11/03/2007, 22:51
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Leer varios datos de una misma columna.

Seguramente lo que te está pasando es que te toma la palabra "character" como palabra reservada de MySQL. "character" en inglés significa "personaje" y "carácter", y este segundo significado es usado por MySQL como un tipo de dato. Intenta llamar la tabla de otra forma: character_t o algo así...

Saludos!

ArgoN
  #10 (permalink)  
Antiguo 12/03/2007, 10:29
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

No puedo cambiarla, la tabla se tiene que llamar asi :(
¿No hay ninguna forma de decirle que quiero que me busque ahi y que no es ningun parametro?
  #11 (permalink)  
Antiguo 12/03/2007, 11:22
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

Por favor ayudadme empiezo a desesperarme

Tiene q haber alguna forma pero por mas que pruebo no encuentro ninguna :(
No funciona con nada de esto: <..> '..' ".." [..] (..) .... no se que mas puedo hacer.

Gracias y un saludo.
  #12 (permalink)  
Antiguo 12/03/2007, 11:58
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

probaste con ´´ o ``
  #13 (permalink)  
Antiguo 12/03/2007, 12:08
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Leer varios datos de una misma columna.

Muchas gracias, con `` si funciona.
Thx por vuestro tiempo y vuestra paciencia.

Un saludo.
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 03:11.