Foros del Web » Programando para Internet » PHP »

Porque me hace esto ...

Estas en el tema de Porque me hace esto ... en el foro de PHP en Foros del Web. Porque esta consulta no me devuelve el primer registro de la tabla ? Código PHP:  $query  =  mysql_query ( "SELECT dir.*, catdir.* FROM directorio dir, catdirectorio catdir WHERE dir.idcategoria = catdir.idcategoria AND dir.idsitio='" . $idsitio . "'" ); ...
  #1 (permalink)  
Antiguo 05/03/2004, 13:58
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Porque me hace esto ...

Porque esta consulta no me devuelve el primer registro de la tabla ?

Código PHP:
 $query mysql_query("SELECT dir.*, catdir.* FROM directorio dir, catdirectorio catdir WHERE dir.idcategoria = catdir.idcategoria AND dir.idsitio='".$idsitio."'");
     
$resmostrar mysql_fetch_array($query);
    echo 
"
    <table width=100%  border=0 cellspacing=1 cellpadding=2>
   <tr>
   <td colspan=2><div align=center><span class=txt>Mostrando el Sitio:&nbsp;<span class=newstitle>"
.$resmostrar['titulo']."</span>,<span class=txt>&nbsp;con ID:<span class=menutop>".$resmostrar['idsitio']."</td>
   </tr>
   <tr>
   <td colspan=2><div align=justify><span class=txt><strong>Título:&nbsp;<span class=txt>"
.$resmostrar['titulo']."</td>
   </tr>
   <tr>
   <td colspan=2><div align=justify><span class=txt><strong>Descripción:&nbsp;<span class=txt>"
.htmlentities($resmostrar['descripcion'])."</td>
   </tr>
   <tr>
   <td colspan=2><div align=justify><span class=txt><strong>Dirección Web:&nbsp;<span class=txt><a href='"
.$resmostrar['url']."' target='".$resmostrar['donde']."'>".$resmostrar['url']."</td>
   </tr>
   <tr>
   <td colspan=2><hr color=#666666 size=1 noshade></td>
   </tr>
   <tr>
   <td><div align=justify><span class=txt><strong>Categoría:&nbsp;<span class=txt>"
;
   switch(
$resmostrar['nombre']){
       case 
"1":
         echo 
"Nacionales";
       break;
       case 
"2":
       echo 
"Internacionales";
       break;
       case 
"3":
       echo 
"Asignatura";
       break;
    }
    echo 
"</td>
   </tr>
   <tr>
   <td colspan=2><hr color=#666666 size=1 noshade></td>
   </tr>
   </table>"

mi tabla:
idsitio -- idcategoria -- titulo -- descripcion -- url --
1 1 Pepe pepe http://pepe.com
2 1 Pepe2 pepe2 http://pepe2.com

solo me muestra
idsitio -- idcategoria -- titulo -- descripcion -- url --
2 1 Pepe2 pepe 2 http://pepe2.com

no se porque razón hace esto
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 05/03/2004, 14:32
 
Fecha de Ingreso: agosto-2003
Ubicación: España
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
Sonrisa

La verdad, iva a responder, pero sinceramente, no entiendo tu pregunta, objetiva un poco, tu sql no se entiende, puede que utilizes el estandar, u otra cosa, yo estoy acostumbrado a usar como casi todo el mundo, el php normal, todo es normal pero repito, no entiendo tu sql i no e visto programa q en php utilize ese tipo
  #3 (permalink)  
Antiguo 05/03/2004, 14:44
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Sip pero ...

Disculpa el código era este otro
Código PHP:
 <?
          
if (!isset($cat)){
           
$query mysql_query("SELECT * FROM directorio");
            
$resultado mysql_fetch_array($query);
           echo 
"<table width=50% border=1 cellpadding=1 cellspacing=2 bordercolor=#003366 align=center>
           <tr>
           <td bgcolor=#CCCCCC><span class = txt><strong><div align=center>ID</td>
           <td width=80% bgcolor=#CCCCCC><span class = txt><strong><div align=center>Titulo</td>
           <td bgcolor=#CCCCCC><div align=center><span class = txt><strong>Acci&oacute;n</div></td>
           </tr>"
;
           while (
$array mysql_fetch_array($query)){
            
$id $array['idsitio'];
             echo 
"
             <td><div align=center><span class=textlv>"
.$array['idsitio']."</td>
             <td><span class=txt>"
.$array['titulo']."</td>
             <td><table width=100%  border=0 cellspacing=1 cellpadding=1>
             <tr>
             <td><div align=center><a href=sitiosadmin.php?accion=administrar&cat=mostrar&idsitio="
.$id."><img src=img/sitiosshow.gif alt='Mostrar sitio' border=0></a></div></td>
             <td><div align=center><a href=sitiosadmin.php?accion=administrar&cat=editar&idsitio="
.$id."><img src=img/sitiosedit.gif alt='Editar sitio' border=0></a></div></td>
             <td><div align=center><a href=sitiosadmin.php?accion=administrar&cat=eliminar&idsitio="
.$id."><img src=img/sitiosdelete.gif alt='Borrar sitio' border=0></a></div></td>
             </tr>
             </table></td>
             </tr>"
;
           }
           echo 
"</table>";
          }
          
?>
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 05/03/2004, 15:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
para que usas esto:?

$resultado = mysql_fetch_array($query);

Y la consulta que haces:

SELECT * FROM directorio

debería mostrarte todos los registros de esa tabla directorio ..pero seguro que eso debe ser bajo alguna condición (WHERE alguna condicion) o no?...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 05/03/2004, 15:17
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Puse esto y ...

Miren puse esto y ahora me pone todos los registros de la tabla. Que tenía ?? No se pues aunque no tuviera el ORDER BY debía funcionar:
Código PHP:
 $query mysql_query("SELECT * FROM directorio ORDER BY idsitio"); 
Salu2
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 05/03/2004, 15:34
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
$resultado = mysql_fetch_array($query);

ese codigo está demás, pues lo que hace es avanzar el cursor dentro de los registros y por tanto cuando luego imprimes ya hay uno menos. Ademas, $resultado es una variable que no usas.
Si quieres comprobar que el query fue ejecutado debes hacer:

if($query && mysql_num_rows($query)>0)
{
while ($array = mysql_fetch_array($query))
{
}
}
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
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 11:50.