Comunidad de diseño web y desarrollo en internet online

Cual es el error en esta parte de mi codigo=??? helpppp!!!!

Citar            
MensajeEscrito el 24 Abr 2007 11:17 pm
Este archivo se llama dc.php
es una tabla en html donde tengo un formulario que en el cual envio dos variables la primera se llama $ordenar y la segunda es $tipo, lo que hace es enviar a la consulta $check_prt = "SELECT * FROM archivos WHERE llave='0' order by '$ordenar', '$tipo' "; los valores por los cuales quiero ordenar los datos de mi tabla llamada archivos.
Lo que no hace es ordenarlos precisamente. Envia los datos $ordenar y $tipo, se produce el cambio en la consulta, pero cuando deberia desplegarlos datos no lo hace de la forma en la cual se le esta pidiendo. sea por nombre, formato, año, etc.

espero que me puedan ayudar.

Saludos!

contiene lo siguiente.

Código :

<table width="533" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="11"><div align="center"></div></td>
    <td width="11" class="titulo_enblorojo1 Estilo16"><img src="images/flecha.gif" width="10" height="13"></td>
    <td width="542" class="titulo_enblorojo1 Estilo16">Documentos - Publicaciones </td>
  </tr>
  <td height="7"><tr>
    <td height="13"></td>
    <td height="13" colspan="2"><table width="560" height="20" border="0" cellpadding="0" cellspacing="0">
      <form action="dc.php" method="post" enctype="multipart/form-data">
        <tr>
          <td width="20"  class="Estilo16">&nbsp;</td>
          <td width="120" align="right" valign="middle" class="txt_contenido1">&nbsp;</td>
          <td >&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
                <td  class="Estilo16">Ordenar por:</td>
          <td width="215" >
            <select name="select" size="1" class="txt_contenido1" id="select">
              <option value="nombre">Titulo</option>
              <option value="ano">A&ntilde;o Publicacion</option>
              <option value="entidad">Entidad que apoya</option>
              <option value="formato">Formato</option>
              <option value="url">Url</option>
            </select>
          </td>
          <td width="112"><select name="tipo" size="1" class="txt_contenido1" id="tipo">
                              <option value="ASC">Ascendente</option>
                              <option value="DESC">Descendente</option>
                          </select></td>
                          <td width="68"><input name="Submit" type="submit" class="txt_contenido" value="Ordenar"></td>
                        </tr></form>
          <? $ordenar=$_POST["select"];  
            $tipo=$_POST["tipo"]; 
[b]// aqui se conecta a la base de datos perfectamente[/b]
  include("adm.php");
                     // connect to the mysql server
                     $link = mysql_connect($server, $db_user, $db_pass)
                     or die ("No se puede Conectar al servidor porque ".mysql_error());
                     // select the database
                     mysql_select_db($database)
                     or die ("No se puede Seleccionar la Base de datos porque ".mysql_error());        ?>
          <td  class="Estilo16">&nbsp;</td>                  
          <?                
         if($ordenar=="nombre"){
                  $ordenar="nombre";
                  }
                  if($ordenar=="entidad"){
                  $ordenar="entidad";
                  }
                  if($ordenar=="ano"){
                  $ordenar="ano";
                  }
                  if($ordenar=="url"){
                  $ordenar="url";
                  }
                  if($ordenar=="formato"){
                  $ordenar="formato";
                  }
                  
$check_prt = "SELECT * FROM archivos WHERE llave='0' order by '$ordenar', '$tipo' "; --> [b]esto deberia ordenarme por el que yo elijo. pero no lo hace!!![/b]
                  $qry_prt = mysql_query($check_prt)
                  or die ("No se puede seleccionar la consulta porque ".mysql_error());
                  echo $check_prt;
                  while ($qry_r_prt=mysql_fetch_array($qry_prt)) 
                  {   
                      $i++;      
                     $nombre=$qry_r_prt["nom"];
                     $ano=$qry_r_prt["ano1"];
                     $entidad=$qry_r_prt["entidad"];
                     $formato=$qry_r_prt["formatos"];
                     $url=$qry_r_prt["url"];         
                     $taman2=$taman/1024;
                     $taman1=round($taman2);
                     $tamano=$taman1."Kb";            
                        if($i==$j){
                           $j=$j+2;
                           $color="#FFFFFF";
                        }
                        else{
                           $color="#F5F5F5";
                        }
               
                  ?>
        </tr>
      </form>
    </table></td>
  </tr>
  <tr>
    <td height="12"></td>
    <td height="12" colspan="2"></td>
  </tr>
  <tr>
    <td height="12"></td>
    <td height="12" colspan="2"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="2"><table width="515" border="0" cellspacing="0" cellpadding="0">
      <tr class="link_menu">
        <td width="130"><span class="Estilo17">Titulo:</span></td>
        <td width="385" "><a  class="Estilo20"><? echo $nombre; ?></a></td>
      </tr>
      <tr class="link_menu">
        <td><span class="Estilo17">A&ntilde;o de publicacion </span></td>
        <td class="datos"><a class="Estilo20"><? echo $ano; ?></a></td>
      </tr>
      <tr class="link_menu">
        <td><span class="Estilo17">Entidad que apoya: </span></td>
        <td class="datos"><a class="Estilo20"><? echo $entidad; ?></a></td>
      </tr>
      <tr class="link_menu">
        <td><span class="Estilo17">Formato:</span></td>
        <td class="datos"><a class=" Estilo20"><? echo $formato; ?></a></td>
      </tr>
      <tr>
        <td class="link_menu"><div align="left" class="Estilo17">Descargar:</div></td>
        <td class="link_menu"><div align="left" class="Estilo20"> <a href="<? echo $url; ?>" class="link_verde"><? echo bajar ?></a></div></td>
      </tr>
      <tr>
        <td class="link_menu">&nbsp;</td>
        <td class="link_menu">&nbsp;</td>
      </tr>
      <tr>
        <td class="link_menu">&nbsp;</td>
        <td class="link_menu">&nbsp;</td>
<? } 
/* cierra el bucle del while. me despliega correctamente!. pero cuando elijo por que campo quiero que me lo ordene y luego me lo despliegue no lo hace.... este es mi problema alguien plssss */
?>
      </tr>
    </table> 

:cry:

Por joup

5 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 25 Abr 2007 11:38 am
Hola,

quítales las comillas simples:

Código :

$check_prt = "SELECT * FROM archivos WHERE llave='0' order by $ordenar, $tipo ";


Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 25 Abr 2007 01:46 pm
No se puede seleccionar la consulta porque You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
:shock:
No es correcta esa forma, para que tome el valor de la variable debe ponerse siempre entre comillas
'$ordenar'

:wink:

Por joup

5 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 25 Abr 2007 02:01 pm
Creo que es así, ahora mismo no estoy en la casa para probarlo, pero creo que si.

Código :

$check_prt = "SELECT * FROM archivos WHERE llave=\'0\' order by $ordenar, $tipo ";


Saludos.

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 25 Abr 2007 04:08 pm
:? Pues debería funcionar así. Has comprobado que $ordenar y $tipo tienen valores correctos? Qué es lo que te devuelve la siguiente sentencia?

Código :

echo $check_prt;


Por cierto, no entiendo este codigo :crap:

Código :

if($ordenar=="nombre"){
   $ordenar="nombre";
}
if($ordenar=="entidad"){
   $ordenar="entidad";
}
if($ordenar=="ano"){
   $ordenar="ano";
}
if($ordenar=="url"){
   $ordenar="url";
}
if($ordenar=="formato"){
   $ordenar="formato";
}


Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 25 Abr 2007 07:17 pm
:lol:
jajaja
lo que estaba mal era lo siguiente =D

$check_prt = "SELECT * FROM archivos WHERE llave='0' order by $ordenar $tipo;";[b]
me faltaba poner eso y quitarle las comillas a $ordenar y $tipo.

Ademas debemos añadirle el siguiente codigo al comienzo del codigo. para la primera vez que se ejecute nos muestre los datos de la tabla.

Código :

  if (!$_POST){
        $ordenar="id";  
            $tipo="Desc";   
         }
         else{
           $ordenar=$_POST["select"];  
            $tipo=$_POST["tipo"]; 
           }


Saludos!!!

Por joup

5 de clabLevel



Genero:Femenino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.