Foros del Web » Programando para Internet » PHP »

Duda sacar registros

Estas en el tema de Duda sacar registros en el foro de PHP en Foros del Web. Hola, Tengo una duda bastante concreta, tengo 2 tablas relacionadas entre si, por ejemplo. Código PHP: idNoticia Titulo Descripcion  Código PHP: idArchivo Nombre idNoticia  Con ...
  #1 (permalink)  
Antiguo 08/07/2010, 10:44
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 10 años, 10 meses
Puntos: 5
Duda sacar registros

Hola, Tengo una duda bastante concreta, tengo 2 tablas relacionadas entre si, por ejemplo.

Código PHP:
idNoticia
Titulo
Descripcion 
Código PHP:
idArchivo
Nombre
idNoticia 
Con esto doy de alta una noticia, y luego voy subiendo archivos a esta, ahi todo perfecto.

Pongamos que tengo 5 noticias y quiero sacar el titulo de las 5.

Código PHP:
while($row=mysql_fetch_assoc){

echo 
$row['Titulo'];


Perfecto, me saca los 5 titulos, ahora mi duda, quiero que bajo de cada titulo me liste los archivos asociados, y ahi me pierdo, ni idea de como hacerlo, seria hacer un while dentro de otro while ? muchas gracias
  #2 (permalink)  
Antiguo 08/07/2010, 10:46
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Duda sacar registros

exactamente como lo supones
  #3 (permalink)  
Antiguo 08/07/2010, 10:49
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Duda sacar registros

Pues ya lo he probado, pero no me funciona correctamente
  #4 (permalink)  
Antiguo 08/07/2010, 10:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Duda sacar registros

quedaría ver lo que haces, postea el código, es la mejor manera!
  #5 (permalink)  
Antiguo 08/07/2010, 11:06
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Duda sacar registros

Sería así:

Código PHP:
while($row=mysql_fetch_assoc){
     echo 
$row['Titulo'];
     
     
//Agregá lo siguiente:
     
$C2=mysql_query("SELECT Nombre FROM archivos WHERE idNoticia=".$row["idNoticia"]);
     while (
$row2=mysql_fetch_assoc($C2)) {
          echo 
$row2["Nombre"]."<br />\n";
     }
     
mysql_free_result($C2);
     
//Fin del agregado

__________________
Saludos.

Gustavo

Última edición por Gustavo72; 08/07/2010 a las 11:17
  #6 (permalink)  
Antiguo 08/07/2010, 11:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Duda sacar registros

$row2["Nombre "] notas el espacio en blanco, pues no debería tenerlo

recomendación: en nombres de campos o tablas en bases de datos no se recomienda el uso de mayúsculas
  #7 (permalink)  
Antiguo 08/07/2010, 11:18
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Duda sacar registros

Cita:
Iniciado por maycolalvarez Ver Mensaje
$row2["Nombre "] notas el espacio en blanco, pues no debería tenerlo

recomendación: en nombres de campos o tablas en bases de datos no se recomienda el uso de mayúsculas
Sí, sí, es sin el espacio... ahí lo edité y arreglé. Gracias.
__________________
Saludos.

Gustavo
  #8 (permalink)  
Antiguo 08/07/2010, 20:10
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Duda sacar registros

Eso funciona perfectamente, es como lo hacia yo, ahora el problema viene al integrar eso en el html, llevo mas de 1 hora y no hay forma de hacerlo funcionar :P
  #9 (permalink)  
Antiguo 08/07/2010, 20:12
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Duda sacar registros

Poné algo del código a ver si te podemos ayudar.
__________________
Saludos.

Gustavo
  #10 (permalink)  
Antiguo 08/07/2010, 20:12
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Duda sacar registros

El codigo es tal que así , pero no funciona.

Código PHP:

while($row mysql_fetch_assoc($result)){
            
             echo 
'<div class="noticia mgbot20px ovw">
                    <div class="img_noti f_left">
                        <img src="archivos/'
.$row['Imagen'].'" alt="" />
                    </div>
                    <div class="txt_noti f_right">
                        <h2 class="txt_may"><a href="#">'
.$row['Titulo'].'</a></h2>
                        <p>'
.$row['Descripcion'].'</p>
                        '
.$sql1 "SELECT * FROM NoticiasFiles WHERE idNoticiasFiles=".$idN;
                          
$result1 mysql_query($sql1,$idcon);
                          while(
$row1 mysql_fetch_assoc($result1)){
                            
                            
'<a class="icopdf d_block" href="archivos/'.$row1['Archivo'].'">'.$row1['Titulo'].'</a>';
                            
                        .
'
                        
                    </div>
                  </div>
            '
;

            
            } 

Supongo errores de comillas


El trozo importante es :

Código PHP:

'.$sql1 = "SELECT * FROM NoticiasFiles WHERE idNoticiasFiles=".$idN;
                          $result1 = mysql_query($sql1,$idcon);
                          while($row1 = mysql_fetch_assoc($result1)){
                            
                            '
<class="icopdf d_block" href="archivos/'.$row1['Archivo'].'">'.$row1['Titulo'].'</a>';
                            
                        .' 
  #11 (permalink)  
Antiguo 08/07/2010, 20:27
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Duda sacar registros

Probá así:
Código PHP:
while($row mysql_fetch_assoc($result)){
            
             echo 
'<div class="noticia mgbot20px ovw">
                    <div class="img_noti f_left">
                        <img src="archivos/'
.$row['Imagen'].'" alt="" />
                    </div>
                    <div class="txt_noti f_right">
                        <h2 class="txt_may"><a href="#">'
.$row['Titulo'].'</a></h2>
                        <p>'
.$row['Descripcion'].'</p>';
                        
                        
$sql1 "SELECT * FROM NoticiasFiles WHERE idNoticia=".$row["idNoticia"]; // Acá corregí el WHERE usuando los nombres que pasaste al principio de tu consulta.
                        
$result1 mysql_query($sql1,$idcon);
                          while(
$row1 mysql_fetch_assoc($result1)) {
                            
                            echo 
'<a class="icopdf d_block" href="archivos/'.$row1['Archivo'].'">'.$row1['Titulo'].'</a>';
                        }
                        echo 
'
                    </div>
                  </div>
            '
;
            } 
__________________
Saludos.

Gustavo
  #12 (permalink)  
Antiguo 08/07/2010, 20:31
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Duda sacar registros

Ahora no da error, pero no muestra los datos del 2 while
  #13 (permalink)  
Antiguo 08/07/2010, 20:41
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Duda sacar registros

Fijate los nombres de los campos.

Cambiá $row1['Titulo'] por $row1['Nombre'] y verificá el nombre del campo Archivo que en el listado de los campos al principio no lo pusiste.
__________________
Saludos.

Gustavo
  #14 (permalink)  
Antiguo 08/07/2010, 20:48
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Duda sacar registros

Era eso, Gustavo eres un GRANDE :)

Etiquetas: registros
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 23:25.