Foros del Web » Programando para Internet » PHP »

Like en dreamweaver php

Estas en el tema de Like en dreamweaver php en el foro de PHP en Foros del Web. Hola tengo un poco de duda con el uso de like en dreamweaver, verán ya se como se hace con el asistente y se como ...
  #1 (permalink)  
Antiguo 15/09/2012, 02:07
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Like en dreamweaver php

Hola tengo un poco de duda con el uso de like en dreamweaver, verán ya se como se hace con el asistente y se como funciona en mysql pero no se como hacerlo en dreamweaver sin el asistente trato de hacerlo asi:

Código PHP:
 "SELECT nucleos.id_nucleo, nucleos.sigla_nucleo, nucleos.nombre_nucleo, nucleos.descripcion_nucleo FROM nucleos WHERE sigla_nucleo LIKE  '%$guardasigla%'  OR nombre_nucleo LIKE '%$guardanombre%' " 
pero lo que hace es mostrarme todos los datos antes de buscarlos.

nota: busco primero un dato y luego lo muestro para luego editarlo, todo lo hace bien menos el like porque mi intencion es que el usuario pueda digitar no se por ejemplo lu y que salga en la lista luna, luci, etc.
  #2 (permalink)  
Antiguo 15/09/2012, 02:16
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Like en dreamweaver php

Si cualquiera de las dos variables que tienes está vacía te mostrará siempre todos los datos
  #3 (permalink)  
Antiguo 15/09/2012, 02:19
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Like en dreamweaver php

este es el codigo de la busqueda donde deseo hacer el lik, se los agradezco de antemano con una pequeña idea me basta o alguna pagina, porque busque en el foro pero solo con asistente encontre y asi no lo necesito

<?
error_reporting(0);
?>
<?php require_once('Connections/prematricula.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}



$guardasigla = $_POST['consigla'];
$guardanombre = $_POST['connombre'];



mysql_select_db($database_prematricula, $prematricula);
@mysql_query("SET NAMES 'utf8'");
$query_Recordset1 = "SELECT nucleos.id_nucleo, nucleos.sigla_nucleo, nucleos.nombre_nucleo, nucleos.descripcion_nucleo FROM nucleos WHERE sigla_nucleo LIKE '%$guardasigla%' OR nombre_nucleo LIKE '%$guardanombre%' ";
$Recordset1 = mysql_query($query_Recordset1, $prematricula) or die(mysql_error());
$Recordset2 = mysql_query($query_Recordset1, $prematricula) or die(mysql_error());



$id_nucleo=$row_Recordset1['id_nucleo'];
?>






<div class="AreaPrincipal">
<div align="left"><!-- InstanceBeginEditable name="EditRegion3" -->

<div id="content2">

<span class="Letras"> Actualizar Núcleos</span>
<hr />
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Sigla:</td>
<td><input name="consigla" type="text" id="consigla" value="" size="20" /></td>
<td nowrap="nowrap" align="right">Nombre:</td>
<td><input name="connombre" type="text" id="connombre" value="" size="20" /></td>

<td><input type="submit" value="Consultar" /></td>
</tr>
</table>

<?php
$numfilas = mysql_num_rows($Recordset2);

echo '<table cellpadding="0" cellspacing="0" width="50%" >';
echo '<thead><tr><td>No.</td><td>SIGLA</td><td>NOMBRE</td><td>DESCRIPCION</td></tr></thead>';
echo "</table>";
?>
<div id="adentro2">
<?php
echo '<table cellpadding="0" cellspacing="0" width="50%">';
for ($i=0; $i<$numfilas; $i++)
{
$fila = mysql_fetch_array($Recordset1);
$numlista = $i + 1;

echo '<tr><td>'.$numlista.'</td>';
echo '<td>'.$fila['sigla_nucleo'].'</td>';
echo '<td>'.$fila['nombre_nucleo'].'</td>';
echo '<td>'.$fila['descripcion_nucleo'].'</td>';


echo '<td><a href="Editarnucleo.php?id='.$fila['sigla_nucleo'].'">Ver</a></td></tr>';
}
echo "</table>";
?>
</div>


</form>
</div>
<!-- InstanceEndEditable --></div>
</div>
</div>

</html>
<?php
mysql_free_result($Recordset1);

mysql_free_result($Recordset2);
?>
  #4 (permalink)  
Antiguo 15/09/2012, 02:22
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Like en dreamweaver php

ninguna de las dos variables esta vacia, lo que quiero es que muestre lo que se busca por medio de un like, veras si no le pongo el like yo puedo buscar perfectamente pero si escribo el like asi me aparecen todos los registros de las tablas antes siquiera de buscar el registro
  #5 (permalink)  
Antiguo 15/09/2012, 02:33
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Like en dreamweaver php

Si la dejas vacía se quedará vacía.
Prueba a poner and en lugar de or.
  #6 (permalink)  
Antiguo 15/09/2012, 02:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Like en dreamweaver php

Claro, al inicio se te cargan todos los registros porque los $_POST no existen con lo cual las variables que las que haces el LIKE tambien.
Debes iniciar las variables antes de la consulta o hacer que la consulta sólo se ejecute si hay variables $_POST.

Código PHP:
Ver original
  1. if(isset($_POST['consigla']) || isset($_POST['connombre'])){
  2. $guardasigla = $_POST['consigla'];
  3. $guardanombre = $_POST['connombre'];
  4.  
  5. $query_Recordset1 = "SELECT nucleos.id_nucleo, nucleos.sigla_nucleo, nucleos.nombre_nucleo, nucleos.descripcion_nucleo FROM nucleos WHERE sigla_nucleo LIKE '%$guardasigla%' OR nombre_nucleo LIKE '%$guardanombre%' ";
  6. }

Lógicamente antes de mostrar la tabla de resultados tendrás que comprobar si hay consulta o resultados

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['consigla']) || isset($_POST['connombre'])){
  3. $numfilas = mysql_num_rows($Recordset2);
  4.  
  5. echo '<table cellpadding="0" cellspacing="0" width="50%" >';
  6. echo '<thead><tr><td>No.</td><td>SIGLA</td><td>NOMBRE</td><td>DESCRIPCION</td></tr></thead>';
  7. echo "</table>";
  8. ?>
  9. <div id="adentro2">
  10. <?php
  11. echo '<table cellpadding="0" cellspacing="0" width="50%">';
  12. for ($i=0; $i<$numfilas; $i++)
  13. {
  14. $fila = mysql_fetch_array($Recordset1);
  15. $numlista = $i + 1;
  16.  
  17. echo '<tr><td>'.$numlista.'</td>';
  18. echo '<td>'.$fila['sigla_nucleo'].'</td>';
  19. echo '<td>'.$fila['nombre_nucleo'].'</td>';
  20. echo '<td>'.$fila['descripcion_nucleo'].'</td>';
  21.  
  22.  
  23. echo '<td><a href="Editarnucleo.php?id='.$fila['sigla_nucleo'].'">Ver</a></td></tr>';
  24. }
  25. echo "</table>";
  26. }
  27. ?>
  #7 (permalink)  
Antiguo 15/09/2012, 18:02
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Like en dreamweaver php

ahora lo hice asi y no los muestra pero ahora al digitar cualquier cosa se muestran nuevamente todos los registros de la tabla

Código PHP:
if(isset($_POST['consigla']) || isset($_POST['connombre'])){

 
$guardasigla $_POST['consigla'];
 
$guardanombre $_POST['connombre'];



mysql_select_db($database_prematricula$prematricula);
@
mysql_query("SET NAMES 'utf8'");
$query_Recordset1 "SELECT nucleos.id_nucleo, nucleos.sigla_nucleo, nucleos.nombre_nucleo, nucleos.descripcion_nucleo FROM nucleos WHERE sigla_nucleo LIKE  '%$guardasigla%'  OR nombre_nucleo LIKE '%$guardanombre%' ";
$Recordset1 mysql_query($query_Recordset1$prematricula) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$prematricula) or die(mysql_error());

}

$id_nucleo=$row_Recordset1['id_nucleo'];

?> 


aca esta la otra parte

Código PHP:
<form action="<?php echo $editFormAction?>" method="post" name="form2" id="form2">
      <table align="center">
        <tr valign="baseline">
          <td nowrap="nowrap" align="right">Sigla:</td>
          <td><input name="consigla" type="text" id="consigla" value="" size="20" /></td>
          <td nowrap="nowrap" align="right">Nombre:</td>
          <td><input name="connombre" type="text" id="connombre" value="" size="20" /></td>
          
          <td><input type="submit" value="Consultar" /></td>
        </tr>
      </table>
     
  <?php
  
  
if(isset($_POST['consigla']) || isset($_POST['connombre'])){
      
     
$numfilas mysql_num_rows($Recordset2);
         
    echo 
'<table cellpadding="0" cellspacing="0" width="50%" >';
    echo 
'<thead><tr><td>No.</td><td>SIGLA</td><td>NOMBRE</td><td>DESCRIPCION</td></tr></thead>';
    echo 
"</table>";
?>        
<div id="adentro2">
<?php    
    
echo '<table cellpadding="0" cellspacing="0" width="50%">';
    for (
$i=0$i<$numfilas$i++)
    {
        
$fila mysql_fetch_array($Recordset1);
        
$numlista $i 1;
        
        echo 
'<tr><td>'.$numlista.'</td>';
        echo 
'<td>'.$fila['sigla_nucleo'].'</td>';
        echo 
'<td>'.$fila['nombre_nucleo'].'</td>';
        echo 
'<td>'.$fila['descripcion_nucleo'].'</td>';
        
        
        echo 
'<td><a href="Editarnucleo.php?id='.$fila['sigla_nucleo'].'">Ver</a></td></tr>';
    }
    echo 
"</table>";
  }
?>
</div>
        
    </form>
    </div>

no se si es que coloco mal los {}, disculpa la molestia
  #8 (permalink)  
Antiguo 15/09/2012, 18:12
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Like en dreamweaver php

si coloco un AND tendra que buscar por nombre y por sigla no?? yo lo que deseo es que busque por nombre o por sigla y que introduzca una palabra en sigla o nombre y aparaezcan todas las similares por ello es que quiero utilizar el like.
al poner en el codigo
Código PHP:
SELECT nucleos.id_nucleonucleos.sigla_nucleonucleos.nombre_nucleonucleos.descripcion_nucleo FROM nucleos WHERE sigla_nucleo LIKE  '%$guardasigla%'  OR nombre_nucleo LIKE '%$guardanombre%' 
ni siquiera he buscado cuando ya aprece todos los registros de la tabla supongo que si pongo AND tiene que buscar por ambos no??
  #9 (permalink)  
Antiguo 15/09/2012, 18:21
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Like en dreamweaver php

Muchas gracias a ambos coloque los isset y cambie a AND y funciono.



gracias besitos

Etiquetas: mysql
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 15:45.