Foros del Web » Programando para Internet » PHP »

No funciona

Estas en el tema de No funciona en el foro de PHP en Foros del Web. Hola!! Quiero hacer una opción para buscar según letra inicial, pero no funciona: Código PHP: <?php // Configura la información de tu cuenta $dbhost = 'mysql.webcindario.com' ; $dbusername = '' ; ...
  #1 (permalink)  
Antiguo 14/06/2008, 08:35
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta No funciona

Hola!!

Quiero hacer una opción para buscar según letra inicial, pero no funciona:

Código PHP:
<?php
// Configura la información de tu cuenta
$dbhost='mysql.webcindario.com';
$dbusername='';
$dbuserpass='';
$dbname='';

// Conexión a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

$letra=$_POST['letra'];
$categoria=$_GET['categoria'];
if(
$letra=="no"){
echo 
"No se ha elegido letra";
exit();
}
if(
$categoria==NULL){
echo 
"¿Dónde desea realizar la búsqueda?" "<br />" "<br />" "<a href=\"chporletrainicial.php?categoria='texto'\">Chistes-texto</a>" "<br />" "<a href=\"chporletrainicial.php?categoria='graficos'\">Chistes-graficos</a>"
}else{
switch(
$categoria){
case 
"texto":
$chcategorias="Select * from chistes WHERE nombre LIKE '$letra%' AND categoria != 'borrado'";
break;
case 
"graficos":
$resultforchg=mysql_query("SELECT * FROM humorgrafico WHERE nombre LIKE '$letra%' AND categoria != 'borrado'");
$chcategorias="SELECT * FROM humorgrafico WHERE nombre LIKE '$letra%' AND categoria != 'borrado'";
break;
}

//Sentencia sql (sin limit)
$_pagi_sql $chcategorias;

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 20;

//Cantidad de enlaces que se mostrarán
$_pagi_nav_num_enlaces 5;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

//Leemos y escribimos los registros de la página actual
while ($row=mysql_fetch_assoc($resultforchg)){
$ch_name $row['nombre'];

$resultcampo=mysql_query($chcategorias);
$campo=mysql_fetch_array($resultcampoMYSQL_ASSOC);

echo  
"<br />" "<br />" "<hr />" $campo['nombre'] . "<br />" "<br />" "<img src='./humorgrafico/$ch_name' />"
"<br />" "<br />" "Descripción: " $campo['descripcion'] . "<br />" "<a href=\"borrarchistegrafico.php?id=$id&categoría=$category\">Borrar</a>" "<hr />" "<br />" "<br />";
}

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>"
?>
¿Cuál puede ser el error?
  #2 (permalink)  
Antiguo 14/06/2008, 08:44
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: No funciona

Hola yonolose, exactemente cual es el error que te arroja? mientras ubicas esto prueba así tu código:
Código PHP:
if($categoria == NULL){ 
echo 
"¿Dónde desea realizar la búsqueda?" "<br />" "<br />" "<a href=\"chporletrainicial.php?categoria='texto'\">Chistes-texto</a>" "<br />" "<a href=\"chporletrainicial.php?categoria='graficos'\">Chistes-graficos</a>";  
}else{ 
switch(
$categoria){ 
case 
"texto"
$chcategorias "Select * from chistes WHERE nombre LIKE '%$letra%' AND categoria != 'borrado'"
$result mysql_query($chcategorias) or die("Error en query $chcategorias:" .mysql_error() );
break; 
case 
"graficos"
$resultforchg mysql_query("SELECT * FROM humorgrafico WHERE nombre LIKE '%$letra%' AND categoria != 'borrado'") or die("Error en query $resultforchg:".mysql_error()); 
$chcategorias1 "SELECT * FROM humorgrafico WHERE nombre LIKE '%$letra%' AND categoria != 'borrado'"
$resultcampo mysql_query($chcategorias1) or die("Error en query $chcategorias1:".mysql_error() ); 
$campo mysql_fetch_array($resultcampo);
break; 


Saludos.
  #3 (permalink)  
Antiguo 14/06/2008, 08:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No funciona

error de que, no te sale algún error?

la consulta esta bien echa??

NO FUNCIONA no dice mucho eh....

pero, solo una sugerencia... para hacer búsquedas (como letra inicial) se deben usar expresiones regulares, espero las estudies...

Código:
RLIKE '^[a-z]'
esto corresponde a MySQL, en especifico "letra inicial de la a a la z, minúscula"

PDTA: si te salta un error de PHP, comunicalo.... sino, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 14/06/2008, 08:51
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: No funciona

No muestra error, he probado lo que me dejó Carlojas.

No muestra error. Compruébenlo aquí.
  #5 (permalink)  
Antiguo 14/06/2008, 09:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No funciona

cambia estas lineas.... así

Código PHP:
// Conexión a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error()); 
haber que sucede... ya que de ahí en fuera, el paginator dicen que funciona a la perfección

demás, procura no llamar variables no creadas... como las GET

Código PHP:
$letra=isset($_POST['letra'])? $_POST['letra']: '';
$categoria=isset($_GET['categoria'])? $_GET['categoria']: ''
así es menos probable que genere algún error, suerte!

y no olvides (para mostrar todos los errores)

Código PHP:
error_reporting(E_ALL); 
al inicio del script, a depurar...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 14/06/2008, 09:36
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Respuesta: No funciona

Ok, GRACIAS



Un saludo: BRUBY
  #7 (permalink)  
Antiguo 14/06/2008, 09:38
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Respuesta: No funciona

Oye, no quisiera crear un tema nuevo para esto.
Hago esto:

$idsql=mysql_query("SELECT id FROM sonrisa WHERE user='$user'");

$id=mysql_result($idsql);

y si hago esto

echo $id;

No se muestra ningún id.
  #8 (permalink)  
Antiguo 14/06/2008, 09:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No funciona

hola!

creo que seria mas rápido si Googleas algo así: php mysql_result (por ejemplo)

te dará un enlace hacia la referencia de PHP, en especifico mysql_result

ahí, viene la sintaxis exacta... lo que quiere decir que te falto un parámetro, revisa...

Referencia: http://www.php.net/mysql_result

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 14/06/2008, 09:50
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: No funciona

Verdad, me faltaba el offset.

Gracias por tu información.



te mereces más aplausos, pero solo puedo poner 15.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:11.