Article View: es.comp.os.linux.programacion
Article #16427Problemas novato php
From: Oscar Manuel
Date: Sun, 23 Apr 2000 00:00
Date: Sun, 23 Apr 2000 00:00
138 lines
3514 bytes
3514 bytes
Pues estoy siguiendo un tutorial de php3 en el cual se hace un buscador
en una base de datos. Tengo instalado apache, php3 y mysql. Este es
"buscador.html":
<html>
<body>
<form method="POST"
action="http://www.omgs.es/~oscar/php/buscador.php3">
<strong>Nombre a buscar:</strong> <input type="text" name="T1"
size="20"><br><br>
<input type="submit" value="Buscar" name="buscar">
</form>
</body>
</html>
Y éste es "buscador.php3":
<html>
<body>
<?php
if (!isset($buscar)){
echo "Debe especificar una cadena a bucar";
echo "</html></body> \n";
exit;
}
$link = mysql_connect("localhost", "nobody");
mysql_select_db("mybd", $link);
$result = mysql_query("SELECT * FROM agenda WHERE nombre LIKE
'%$buscar%' ORDER BY nombre", $link);
if ($row = mysql_fetch_array($result)){
echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
echo "<td>$field->name</td> \n";
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["id"]."</td> \n";
echo "<td>".$row["nombre"]."</td> \n";
echo "<td>".$row["direccion"]."</td> \n";
echo "<td>".$row["telefono"]."</td> \n";
echo "<td><a
href='mailto:".$row["email"]."'>".$row["email"]."</a></td> \n";
echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
?>
</body>
</html>
Pues lo que ocurre es que, ponga lo que ponga en la caja, se va siempre
a "No se ha encontrado ningún registro". Luego, he descubierto que si
cambio $nombre y pongo $T1, funciona mejor, pero falla en la primera
comprobación, donde se supone que si dejo la caja vacía, debería salir
el mensaje "Debe especificar una cadena a buscar", pero en vez de eso me
salen todos los registros de la base de datos, ya que pasa la cadena
vacía al LIKE del SELECT. He probado
if ( $T1 = "" ) {
en vez de
if (!isset($T1)){
pero nada.
Seguro que estoy fallando en cosas básicas, pero esto es lo único que
tengo de momento, así que si alguien conoce algún tutorial mejor, que lo
diga ahora o calle para siempre ;-).
--
http://counter.li.org registration info:
----------------------------------------
Linux user: 92390 - Linux machine: 39301
|--------------------------------------|
| Oscar Manuel Gómez Senovilla |
| mailto:oscarsen@BORRARmicorreo.net |
| (quita "BORRAR" después de @) |
| (remove "BORRAR" after @) |
| Madrid (España) |
|--------------------------------------|
Technical Details
Message-ID:
<3902EE00.6B17302E@omgs.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,8f26923e7805e4d2,start X-Google-Attributes: gidf86c8,public From: Oscar Manuel <oscar@omgs.es> Subject: Problemas novato php Date: 2000/04/23 Message-ID: <3902EE00.6B17302E@omgs.es> X-Deja-AN: 614719887 Content-Transfer-Encoding: quoted-printable X-Accept-Language: es Content-Type: text/plain; charset=iso-8859-1 X-Trace: oscar.omgs.es 956493312 1188 192.168.0.10 (23 Apr 2000 12:35:12 GMT) Organization: Estoy harto de spammers Mime-Version: 1.0 Newsgroups: es.comp.os.linux.programacion