Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

me estoy volviendo locooooooo

Estas en el tema de me estoy volviendo locooooooo en el foro de Bases de Datos General en Foros del Web. muy buenas.... estoy desdesperado.... os cuento... en mi web Nippon-Tour tengo un enlace a "Cultura," ok?? esta tabla tiene los siguientes apartdados: id, Apartado, Parrafo, ...
  #1 (permalink)  
Antiguo 23/10/2003, 11:24
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
me estoy volviendo locooooooo

muy buenas.... estoy desdesperado.... os cuento...

en mi web Nippon-Tour tengo un enlace a "Cultura," ok?? esta tabla tiene los siguientes apartdados:

id, Apartado, Parrafo, Imagen, Alineacion, pie_foto

lo he hecho por párrafos para poder insertar una imegen en cada uno, por lo tento tengo varios registros con el mismo "apartado" para sus diferentes párrafos.. me explico??

pues bien, al pinchar en dicho acceso, sólo me aparece una vez el campo "apartado" para poder hacer un link y pasar su `id`a otra página php y mostrar el contenido de los apartados uno a uno... una vez que he pasado ese `id`tengo este código... pero me da error en el while:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/webcindario/nippon-tour/principal/cult.php on line 18

y éste es el script... por más que lo reviso no encuentro el error ... seguro que es por mi novatez

$tema = $HTTP_GET_VARS["tema"];
$contenido = mysql_query ("SELECT `Apartado` FROM `Cultura` WHERE `id` = $tema");
$datos = mysql_fetch_row ($contenido);
$apar = $datos[0];
$contenido = mysql_query ("SELECT * FROM `Cultura` WHERE 1 AND `Apartado` = $apar ORDER BY `id` ASC");
while ($datos = mysql_fetch_row ($contenido)){


el valor de $apar lo recoge bien... que es el nombre del apartado que queremos mostrar...

a ver si me podéis ayudar!!! plis
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 23/10/2003, 11:36
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
$contenido = mysql_query ("SELECT `Apartado` FROM `Cultura` WHERE `id` = $tema") or die(mysql_error());
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 24/10/2003, 02:13
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Este es error que me muestra...

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'NO MARU: LA BANDERA DE JAPON. ORDER BY `id` ASC' at line 1

puede ser porque al usar WHERE con un texto no lo reconoce bien??

Gracias Cain!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 24/10/2003, 03:55
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Lo que pasa es que los valores textuales deben entrecomillarse.

"SELECT Apartado FROM Cultura WHERE id = '$tema'"
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 24/10/2003, 04:59
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
GRacias Cain.. pero ahora me dice lo siguiente:

Unknown column 'HI NO MARU: LA BANDERA DE JAPON.' in 'where clause'

... pero esa variable la pillo del la misma tabla!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #6 (permalink)  
Antiguo 24/10/2003, 05:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

¿Cual es el codigo actual que usas? Porque ese error te esta diciendo que estas poniendo esa cadena en un lugar donde esperaba el nombre de una columna de la tabla.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 24/10/2003, 06:00
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
actualmente el código completo es este:

<?php
// campos de la tabla Cultura: id, Apartado, Parrafo, Imagen, Alineacion, pie_foto
echo "<p><a href=$PHP_SELF?seccion=Cultura>Seleccionar otro tema</a></p>";
$tema = $HTTP_GET_VARS["tema"];
$contenido = mysql_query ("SELECT `Apartado` FROM `Cultura` WHERE `id` = $tema") or die(mysql_error());
$datos = mysql_fetch_row ($contenido);
$apar = $datos[0];
$contenido = mysql_query ("SELECT * FROM `Cultura` WHERE 1 AND `Apartado` = `$apar` ORDER BY `id` ASC") or die(mysql_error());
while ($datos = mysql_fetch_row ($contenido)){
if ($apartado){ ?>
<p></p>
<table width="95%" align="center" border="0" cellspacing="0" cellpadding="5">
<tr>
<td bgcolor="#CC0000"><p><font color="#FFFFFF" face="Arial" size="2"><b><?php echo $datos[1]; $apartado=1; ?></b></font></p></td>
</tr>
</table>
<p></p>
<?php } ?>
<table width="95%" align="center" border="0" cellspacing="0" cellpadding="5">
<tr><td>
<p align="justify"><font size="2" face="Arial">
<?php
if ($datos[3]){
echo "<img src=../imagenes/Cultura/$datos[3] align=$datos[4] hspace=10 vspace=5 alt=$datos[5]>";
}
echo $datos[2]; ?>
</font></p>
</td></tr></table>
<p></p><?php } ?>



... y gracias por sumarte a la causa !!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #8 (permalink)  
Antiguo 24/10/2003, 06:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Ya. el problema es que no es lo mismo un backtick ` que una comilla simple '. El backtick es para nombres de campos, de tablas y de base de datos. Y la comilla simple es para las cadenas de texto. Asi que la consulta seria:
Código PHP:
$contenido mysql_query ("SELECT * FROM `Cultura` WHERE 1 AND `Apartado` = '$apar' ORDER BY `id` ASC") or die(mysql_error()); 
Ya se que a simple vista no se distinguen. Pero son esas las comillas que te puso Cain.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 24/10/2003, 06:44
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2


oeeeeeeeeeoeoeooeeeeeeeeeee



no conocía esa pequeña sutileza, la tendré en cuenta de ahora en adelante


pa'vernos matao!!! gracias a los dos!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #10 (permalink)  
Antiguo 24/10/2003, 15:38
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Nótese que la "comilla simple" es una apóstrofe (') y el "backtic" es un acento grave (o abierto)
__________________
M a l d i t o F r i k i

Última edición por Cain; 24/10/2003 a las 15:40
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 18:40.