Base de datos en mysql y php

Como puedo utilizar el buscador de base de datos como el que ustedes tiene para las matriculas para que me muestre la consulta con el echo de poner una letra y no todo el nombre exacto
Ate christian

1 respuesta

Respuesta
1
Para buscar un dato inexacto en una base de datos SQL, suele ser útil usar el operador LIKE. Por ejemplo, para encontrar registros que empiezan por un determinado carácter como la 'a' se usaría una consulta parecida a:
SELECT micampo FROM mitabla WHERE micampo LIKE 'a%'
Hola que tal ya resolví mi duda con lo del buscador de matriculas
gracias .
les agradeceria si me ayudaran con la ayuda de otro buscador pero este para que me busque palabras o frases o keyword o la letra un ejemplo es como este buscador que vi en este link
http://clasificado.diario.com.mx/busqueda.php?fccla=&fcsec=&fcssec=&texto=trabajos&submit=Buscary
es lo que quiero hacer exactamente les agrdeceria si  me ayudaran seria una  gran ayuda
De la misma manera que para la primera solución, puedes buscar una palabra o una keyword usando:
SELECT micampo FROM mitabla WHERE micampo LIKE '%mi frase o keyword%'
me podrias proporcionr todo un codigo por que este buscador es difernet al de la matricula si me funciono el  (like'%mifrasefavorita%') pero en si nesesito mas recursoso para tener un buscador como el de este link http://clasificado.diario.com.mx/busqueda.php?fccla=&fcsec=&fcssec=&texto=trabajos&submit=Buscary  
Necesito exactamente un buscador igualito al de ese link y no se como obtener casi la misma copia o origen de ese script php gracias
Lo siento pero no entiendo a qué te refieres.
Con el LIKE como te he explicado puedes hacer la búsqueda como me dices. No sé qué particularidad tiene el buscador que mencionas. Ese link que me envías sólo me muestra una página de resultados.
Por favor, explica cual es exactamente la funcionalidad que quieres conseguir.
SELECT micampo FROM mitabla WHERE micampo LIKE '%mi frase o keyword%'
Esta acción la puse en marcha en el buscador de matriculas y si me funciono perfectamente
En lo que yo te preguntaba anterioromente el buscador de matricula que tu nos brindas me puede servir como buscador de datos como el que te motre en el link pues lo que quireo hacer es mostrar los datos de un clasificado o una consulta pero que esa consulta sea idéntica como la de el buscador de ese link
Osea ejemplo que si la persona pone una palabra "web" en el buscador que la consulta muestre todo lo referente a esa palabra en filas independientes como la de ese link y es ayi donde ya no avanzo
Aquí esta el código como lo tengo ahorita es el buscador de las matricula pero lo quier hacer como el buscador del link que te mostré por ejemplo que puedo modificar en el código aquí esta como lo tengo
"buscadordeldiario.php"
<form action="buscadordeldiario.php" method="get">
<input name="escuelaa" type="text" />
<input name="Submit" type="submit" value="Search" />
</form>
$bbdd = mysql_connect("localhost", "root", "");
mysql_select_db('warmmachine');
// Y luego acceder para leer los datos que necesitas, creando una sentencia SQL según tus necesidades:WHERE grupo='" . $_REQUEST["escuela"] . "'";
//
$sql = "SELECT grupo FROM alumnox WHERE grupo LIKE '%keyword %' ";
//
$resultados = mysql_query($sql);
$campos = mysql_fetch_assoc($resultados);
//echo "El campo1 es: " . $campos["campo1"];
//echo "El campo2 es: " . $campos["campo2"];
//aquivaagregado echo
<div style="border-top: 1px solid #a9a9a9; border-bottom: 1px solid #a9a9a9; height: 30%;">resultados</div>
$rs = mysql_query($sql);
if(mysql_num_rows($rs)>0){
echo '';
$j =1;
while($line = mysql_fetch_assoc($rs)){
include('buscadordeldiario.tpl');
$j++;
}
}
$rs_count = mysql_query($sql);
$total_results = mysql_num_rows($rs_count);
$row_count = 1;
$max = 'limit ' .($pagenum - 1) * $row_count .',' .$row_count;
//otro bloke1
if($total_results >0){
$rs = mysql_query($sql);
$j =1;
while($line = mysql_fetch_assoc($rs)){
include('buscadordeldiario.tpl');
$j++;
}
}
else{
echo '
<div style="border-top: 1px solid #a9a9a9; border-bottom: 1px solid #a9a9a9; height: 5%; width: 50%; background-color: #888958;">resultados de tu busqueda - encontrados '.$total_results.' descripcion Numero De ticket '.$clean_search.'</div>
';
}
if($last != 1){
echo ' ';
for($i=1;$i<($last+1);$i++){
echo ''.$i.' | ';
}
}
//otro bloke2
$j =1;
while($line = mysql_fetch_assoc($rs)){
include('buscadordeldiario.tpl');
$j++;
}
//otrobloke?
$rs_count = mysql_query($sql );
$total_results = mysql_num_rows($rs_count);
$row_count = 1;
if (!(isset($_GET['pagenum'])))
$pagenum =10;
else
$pagenum = $_GET['pagenum'];
//otorbloke?
$clean_search = preg_replace('/[^\w\s]+/','',$search_txt);
$search_list = explode(' ',$clean_search);
if(count($search_list) > 1){
//$where_list = implode('","',$search_list);
//$where_list = substr($where_clause,0,strlen($where_clause)-1);
}
?>
aqui esta el codigo a donde se imprime el resultado   "buscadordeldiario.tpl"
<?php echo $line['grupo']; ?>
En el código falta el archivo buscadordeldiario. Tpl con lo que no se puede ejecutar.
De todos modos, analizando el código, no entiendo porqué ejecutas varias veces la misma sentencia sql: mysql_query($sql).
Se supone que sólo necesitas ejecutarla una vez, y luego hacer un bucle para ir leyendo y mostrando los resultados:
$rs = mysql_query($sql);
if(mysql_num_rows($rs)>0){
  echo 'Se han encontrado ' . mysql_num_rows($rs) . ' registros.';
  $j=1; // No sé para qué sirve esta variable, pero quizás se use en el archivo incluido.
   while($line = mysql_fetch_assoc($rs)){
     include('buscadordeldiario.tpl');
     echo '
<p>' . $line["grupo"] . '</p>
';
     $j++;
   }
}
Esto debe mostrar todos los grupos que contenían la palabra clave.
Gracias por tus consejos ya encontré un código perfecto mira este si me sirvió ylo altere ami modo
<?PHP
//Busca en una base de datos hecha en mysql con campos distribuidor, marca, producto, comentario, pero recuerda que puedes cambiarlos
$campo = array("empleo" , "empleovarios", "carro", "ventax" , "variox");
//aqui ponemos los campos de la tabla en que queremos buscar
$numelentos = count($campo);//toma el numero de campos y lo guarda para usarla despues
$bandera = "si";//bandera para indicar si se encontro la palabra
for ($i=0; $i < $numelentos; $i++)
//realizaremos el recorrido de busqueda en cada campo que seleccionamos de nuestra tabla
{// inicio for
$campoac= $campo[$i];//guardamos el campo actual
$a= $_GET['palabra'];//Guardamos la palabra que se buscara
if ($a==false)// si no se ingreso una palabra nos avisa
 {
  echo "
<div align=\"center\">Debe especificar la busqueda</div>
";
  echo "
</html>
</body>
\n";
  exit;
 }
$link = mysql_connect("localhost", "root", "mipassword");
//si se ingreso la palabra nos conectamos
mysql_select_db("recodiint_mxweb", $link);
//que busque en el campo actual la palabra enviada y lo ordene por un campo especifica
$sql = "SELECT * FROM empleos WHERE $campoac LIKE '%{$_GET['palabra']}%' ORDER BY empleooficina ";
$result = mysql_query($sql, $link);
if ($row = mysql_fetch_array($result))// si se encontro la palabra
 {
   mysql_field_seek($result,0);
  while ($field = mysql_fetch_field($result)){
   echo "
<td><b></b></td>
\n";
 }
//imprimimos nustros resultados
do {
   echo "
<table width=\"431\"align=\"center\"  >
<tr>
<td width=\"225\">
<table width=\"100%\" >
<tr>
<strong>
<td width=\"205\">
<div align=\"center\"><strong><FONT COLOR=\"#0099FF\">Clasificado</FONT></strong>".$row["empleo"]."</td>
</div>
</table>
";
     echo "
<table width=\"431\"align=\"center\"  >
<tr>
<td width=\"225\">
<table width=\"100%\" >
<tr>
<strong>
<td width=\"205\">
<div align=\"center\"><strong><FONT COLOR=\"#0099FF\"></FONT></strong>".$row["empleovarios"]."</td>
</div>
</table>
</table>
";
       echo "
<table width=\"431\"align=\"center\"  >
<tr>
<td width=\"225\">
<table width=\"100%\" >
<tr>
<strong>
<td width=\"205\">
<div align=\"center\"><strong><FONT COLOR=\"#0099FF\"></FONT></strong>".$row["carro"]."</td>
</div>
</table>
</table>
";
       echo "
<table width=\"431\"align=\"center\"  >
<tr>
<td width=\"225\">
<table width=\"100%\" >
<tr>
<strong>
<td width=\"205\">
<div align=\"center\"><strong><FONT COLOR=\"#0099FF\"></FONT></strong>".$row["ventax"]."</td>
</div>
</table>
</table>
";
       echo "
<table width=\"431\"align=\"center\"  >
<tr>
<td width=\"225\">
<table width=\"100%\" >
<tr>
<strong>
<td width=\"205\">
<div align=\"center\"><strong><FONT COLOR=\"#0099FF\"></FONT></strong>".$row["variox"]."</td>
</div>
</table>
</table>
";
// Siempre hemos querido poner links en los resultados aquí pongo un pequeño ejemplo de como hacerlo pero si quieres ser más especifico en el linck pues juega un poco con el código
echo "
<p> </p>
\n";
  echo "
<hr>
";
 $bandera = "no";//cambiamos la bandera para avisar que si se encontro la palabra
}
while ($row = mysql_fetch_array($result));
  echo "
</table>
\n";
 }
 }//fin for
if ($bandera == "si") //si la bandera sigue en si es que no encontro la palabra y avisamos
{ echo   "
<div align=\"center\">No se a encontrado registro en la base de datos</div>
";//"
<p>¡No se ha encontrado ningún registro!</p>
\n";
}
//otro b;oke
 ?>
Me alegro de que hayas conseguido una solución.
Por favor, cierra la pregunta si ya está el tema solucionado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas