Re: forms /selects - Mailing list pgsql-php
| From | angelo.rigo@globo.com |
|---|---|
| Subject | Re: forms /selects |
| Date | |
| Msg-id | 3DCBFE22000E94C8@riosf06.globoi.com Whole thread Raw |
| In response to | Re: forms /selects (jco@cornelius-olsen.dk) |
| Responses |
Re: forms /selects solution
|
| List | pgsql-php |
Hi
I see my error was not using the "like"
but now i fall in other problem:
I have made an if else to display a message
if have no name with the selected leter as initial
it works but disply too:
Warning: Unable to jump to row 0 on PostgreSQL result index 2 in /var/www/html/inscricao/resultado_a1.php
on line 80
how could i handle this?
Thank?s in advance:
here is my actual code:
Pesquisa de nome por letra inicial
<BR><form method="post" size="1" action="<?php print("$PHP_SELF"); ?>">
<select size="1" name="letra">
<option selected>Escolha letra inicial
<option value=A>A
<option value=B>B
<option value=C>C
<option value=D>D
<option value=E>E
<option value=F>F
<option value=G>G
<option value=H>H
<option value=I>I
<option value=J>J
<option value=K>K
<option value=L>L
<option value=M>M
<option value=N>N
<option value=O>O
<option value=P>P
<option value=Q>Q
<option value=R>R
<option value=S>S
<option value=T>T
<option value=U>U
<option value=V>V
<option value=X>X
<option value=Y>Y
<option value=Z>Z
</select><input type="submit" value="Enviar"></form></TD>
</TR>
</TABLE> <br>
<?php
$db = pg_connect("dbname=db user=user");
$query ="SELECT name FROM aprovados WHERE (nome like '$leter%') ORDER BY
name ASC ";
$result = pg_exec($db, $query);
if (!$result) {printf ("Não há nomes com esta letra inicial!"); exit;}
$numrows = pg_numrows($result);
/***********************
actual problem
***********************/
if ($numrows=='0') {
print("Não foram encontrados nomes iniciados por : $letra");
print("<a href='javascript:history.back(-1);'><<Voltar</a>");
}
else
$row=0;
printf ("<table border=0>");
printf ("<tr bgcolor='#FFFF33'><td><b>Nome</b></td></tr>");
do
{
$myrow = pg_fetch_array ($result,$row);
if($row % 2) {
$bgcolor="#FFFF99";
}
else {
$bgcolor="";
}
printf ("<tr bgcolor='$bgcolor'><td>%s</td></tr>",$myrow[nome]);
$row++;
}
while ($row < $numrows);
printf ("</table>");
pg_close($db);
?>
'>'-- Mensagem Original --
'>'To: pgsql-php@postgresql.org
'>'Subject: Re: [PHP] forms /selects
'>'From: jco@cornelius-olsen.dk
'>'Date: Tue, 10 Dec 2002 15:03:33 +0100
'>'
'>'
'>'I see a couple of errors, one of which is the source of your problem.
'>'You write:
'>' "SELECT name FROM thetable WHERE (nome=$leter%) ORDER BY nome
ASC";
'>'This would evaluate to
'>' "SELECT name FROM thetable WHERE (nome=A%) ORDER BY nome ASC";
'>'
'>'What you need to write is:
'>' "SELECT name FROM thetable WHERE (nome like '$leter%') ORDER
BY nome
'>'ASC";
'>'
'>'"like" is required to make regular expression match.
'>'The quotes are always required when dealing with strings (and a few
other
'>'
'>'types).
'>'
'>'You could have just debugged this by
'>' echo $query;
'>'
'>'Also: Letter contains two t's. :)
'>'
'>'Regards
'>'/Jørn Cornelius Olsen
________________________________________
A busca mais veloz e precisa da internet. Acesse agora: http://www.zoom.com.br.