Página 1 de 1
Segunda duda de PHP
Publicado: Jue Jul 28, 2005 10:15 pm
por Fionn Mac Cumhail
Se puede pasar una variable como parte de una query, es decir:
SELECT PAIS from paises WHERE PAIS LIKE '$type%'
Publicado: Sab Jul 30, 2005 1:15 pm
por gonzalo_aizpun
Código: Seleccionar todo
$consulta="SELECT PAIS from paises WHERE PAIS LIKE '$type%'";
$resultado=mysql_query($consulta,$link);
Tener en cuenta que lo mas probable que al usar php estes interactuando con una base de datos de mysql que no permite consultas anidadas (digo esto en referencia a tu otro post de las varias tablas). Igual no fuiste muy explícito

... fijate si podes mejorar tu preguntas!
Saludos,
Gonzalo
Publicado: Mié Ago 03, 2005 7:42 pm
por Invitado
Gracias de antemano, respecto a la otra pregunta, a lo mejor no me explique bien, a ver si ahora me logro explicar.
Es una pagina que va a mostrar una consulta en una tabla (de las de toda la vida del word). La cuestion es que en la tabla se visualiza los datos con un order by. Hasta ahi no he tenido problema
el problema me viene cuando, tengo que mostrar solo los que empiezan con la A, o con la B. Espero que haya quedado clara la situacion. Como podria hacer eso?
Publicado: Jue Ago 04, 2005 2:05 am
por gonzalo_aizpun
ok. La consulta debe indicar que solo queres los que empiezan con "A"
Para eso usamos el LIKE
Te paso un ejemplo:
Código: Seleccionar todo
<?php
include("conectar.php");
$link=Conectarse();
$resultado=mysql_query("SELECT PAIS from paises WHERE PAIS LIKE 'A%'",$link);
?>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr>
<td>%d</td>
<td>%s</td>
<td>%s</td>
</tr>", $row["id"],$row["campo1"],$row["campo2"]);
}
mysql_free_result($resultado);
mysql_close($link);
?>
</table>
%d = integer
%s = string
%f = float (decimal)
Publicado: Jue Ago 04, 2005 1:39 pm
por Fionn Mac Cumhail
Vale aun no me explique bien, sorry.
El problema no es ese, el problema es que no solo es por la A, es por todo el abecedario. por eso, mi pregunta es si tengo q hacer una query por cada letra o hay una forma de hacerla general.
Publicado: Jue Ago 04, 2005 3:52 pm
por opinguino
preparate y tomate tu tiempo para hacerlo letra a letra. Si es solo copiar y pegar casi
no conozco ningun otro metodo
Publicado: Jue Ago 04, 2005 6:51 pm
por Fionn Mac Cumhail
Muchas gracias por la ayuda
A ver si consigo q funcione
Publicado: Vie Ago 05, 2005 10:48 pm
por gonzalo_aizpun
Es fácil... no tan fácil como copiar y pegar la sintaxis muchas veces por cada letra, je.-
Pero es verdad, poco código! Limpito! Inteligente!
Vemaos:
Función de String "CHR" -> string chr ( int ascii )
Tabla de Códigos ASCII (google)
Al mirar la tabla, nos damos cuentas que las letras del abecedario minúsculas están correspondidas entre: 97 (a) y 122 (z)
entonces...
Código: Seleccionar todo
for ($ascii = 97; $ascii <= 122; $ascii++) {
// $consulta = "SELECT PAIS from paises WHERE PAIS LIKE '".chr($ascii)."%'";
echo "Letra: ".chr($ascii);
}
Salu2,
Gonzalo