Re: forms /selects

From: angelo(dot)rigo(at)globo(dot)com
To: pgsql-php(at)postgresql(dot)org
Subject: Re: forms /selects
Date: 2002-12-10 16:52:45
Message-ID: 3DCBFE22000E94C8@riosf06.globoi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)postgresql(dot)org
'>'Subject: Re: [PHP] forms /selects
'>'From: jco(at)cornelius-olsen(dot)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.

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message angelo.rigo 2002-12-10 17:19:10 Re: forms /selects solution
Previous Message Vince Vielhaber 2002-12-10 14:16:54 Re: Large file upload