Hola, hasta ahora tenía funcionando perfectamente un código entre dos páginas y de repente dejó de funcionar. En el hosting me dicen que ellos lo único que cambiaron fué la versión de MySql4 a la MySql5. Entonces quería a ver si me podéis echar una mano donde tengo el error ya que me dá un error de no se pudo ejecutar la consulta.
Tengo un apartado en el que muestro una relación de articulos y que ven una foto y un encabezado de un texto, el apartado lo llamarémos articulos.php. Haciendo la consulta a la BD obtengo estos datos mas el ID de ese articulo. Después através de un enlace doy la opción de ver más datos de ese articulo en otra página, llamemosla masinfo.php, y lo que necesito es pasar el ID del que han elegido a esa otra página. lo hago de la siguiente forma
articulo.php
Código PHP:
$_pagi_sql="SELECT * FROM pisos_venta WHERE id_tipo_inmueble='1' AND venta='1' ORDER BY fecha DESC, id DESC ";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 6;
//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces = 5;//
$_pagi_mostrar_errores = false;//
$_pagi_conteo_alternativo = true;//
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
//$result=mysql_query($sql) or die (mysql_error());
# CREAMOS UNA CABECERA DE UNA TABLA (codigo HTML)
echo "<table width=480 align=center cellspacing=1 cellpadding=3 border=1 bordercolor=#003366>";
//echo "<tr>";
while($registro = mysql_fetch_array($_pagi_result)){
echo "<td valign=top>Ref. ".$registro['referencia']."</td>";
$fecha=$registro['fecha'];
$var = explode('-',$fecha);
echo "<td><div align=right>".$var[2]."-".$var[1]."-".$var[0]."</div></td></tr></td></tr>";
echo "<td>";
echo "<td valign=top>";
?>
</td>
</tr>
<tr>
<td width="22%" rowspan="2" valign="top" align="center"><a href="masinfo.php?iden=<? echo $registro['id']; ?>" onClick='this.target = "popup"; window.open("", "popup", "tolbar=0,width=650,height=520, resizable=yes")' ><img src="mini.php?imagen=<? echo $registro['imagen1']?>&tam=55x55" border="0" /></a></td>
<td width="78%"><? echo "".substr($registro["descripcion"],0,135)."......"?></td>
</tr>
<tr>
<td><div align="right"><a href="masinfo.php?iden=<? echo $registro['id']; ?>" onClick='this.target = "popup"; window.open("", "popup", "tolbar=0,width=650,height=520, resizable=yes scrollbars=no ")' >más información</a></div></td>
</tr>
Falta alguna cosa, pero es por no poner todo el código de la página,pero lo que necesito que veais esta puesto, es en la línea
Código HTML:
<td><div align="right"><a href="masinfo.php?iden=<? echo $registro['id']; ?>" onClick='this.target = "popup"; window.open("", "popup", "tolbar=0,width=650,height=520, resizable=yes scrollbars=no ")' >más información</a></div></td>
</tr>
que es donde envío le valor de id. Sé que funciona, lo primero porque hasta ahora así lo estába haciendo y nadie cambió nada escepto lo de MySql y porque al realizar click sobre el enlace en la web se vé que está dándolo bién y que muestra el id, osea que lo que entiendo es que no hago bién la recepción de la variable id.
La página que recibe el link es
masinfo.php
Código PHP:
<?
include("includes/conectobd.php");
if ($iden!="")
{
$sql = "SELECT * FROM pisos_venta WHERE id=$iden" ;
echo $iden ;
}
$consulta = mysql_query($sql) or die ("No se pudo ejecutar ESTA consulta");
$registro=mysql_fetch_assoc($consulta);
echo "<table width=630 bgcolor=#A6D9FF align=center border=0 id=tabla>"; //TABLA PRINCIPAL DE REF. FECH DESCR. Y FOTOS
$a=explode("/", $registro['imagen1']);
for($i=4;$i<(count($a));$i++) $foto1.=($i<((count($a))-1)) ? ($a[$i]."/") : ($a[$i]);
$a2=explode("/", $registro['imagen2']);
for($i=4;$i<(count($a2));$i++) $foto2.=($i<((count($a2))-1)) ? ($a2[$i]."/") : ($a2[$i]);
$a3=explode("/", $registro['imagen3']);
for($i=4;$i<(count($a3));$i++) $foto3.=($i<((count($a3))-1)) ? ($a3[$i]."/") : ($a3[$i]);
$a4=explode("/", $registro['imagen4']);
for($i=4;$i<(count($a4));$i++) $foto4.=($i<((count($a4))-1)) ? ($a4[$i]."/") : ($a4[$i]);
?>
<script language="JavaScript">
var photos=new Array()
var which=0
photos[0]="<? echo $foto1; ?>"
photos[1]="<? echo $foto2; ?>"
photos[2]="<? echo $foto3; ?>"
photos[3]="<? echo $foto4; ?>"
function backward(){
if (which>0){
window.status=''
which--
document.images.inmobiliaria.src=photos[which]
}
}
function forward(){
if (which<photos.length-1){
which++
document.images.inmobiliaria.src=photos[which]
}
else window.status='End of gallery'
}
</script>
<input type="hidden" name="id" value="<? echo $registro['id'];?>">
<input type="hidden" name="referencia" value="<? echo $registro['referencia'];?>">
<?
$fecha=$registro['fecha'];
$var = explode('-',$fecha);
"".$var[2]."-".$var[1]."-".$var[0]."";
?>
<input type="hidden" name="fecha" value="<? echo" ".$var[2]."-".$var[1]."-".$var[0].""; ?>">
<?
echo "<td><table width=640 border=0 bordercolor=#00ff00>";
echo "<td valign=top width=300>Ref.".$registro['referencia']."<br><br>";
$texto=nl2br($registro["descripcion"]);
echo"".$texto."</td>";
?>
<td align="right" widht="100%"><img src="<? echo $foto1; ?>" name="inmobiliaria"> </td>
<?
echo"</tr>";
echo "</table>";
echo "</td>";
echo "</tr>";
echo "<tr>";
?>
<?
echo "<td><table>";
?>
<td><a href="javascript:changeImage('<? echo $foto1; ?>')"><img src="mini.php?imagen=<? echo $foto1; ?>&tam=55x55" border="0" /></a></td>
<td> <a href="javascript:changeImage('<? echo $foto2; ?>')"><img src="mini.php?imagen=<? echo $registro['imagen2']; ?>&tam=55x55" border="0"/></a></td>
<td><a href="javascript:changeImage('<? echo $foto3; ?>')"><img src="mini.php?imagen=<? echo $registro['imagen3']; ?>&tam=55x55" border="0"/></a></td>
<td><a href="javascript:changeImage('<? echo $foto4; ?>')"><img src="mini.php?imagen=<? echo $registro['imagen4']; ?>&tam=55x55" border="0"/></a></td>
<td width="300" align="right"><input name="B1" type="button" class="botones" onclick="this.form.submit()" value="Me Interesa" /></td>
</form>
<tr><table>
<div align="center"><center><p>
<td>
<input type="button" value="<<<" name="B2" class="botones"
onClick="backward()"> <input type="button" value=">>>" name="B1"
onClick="forward()" class="botones"><br>
</center></div>
<tr><td></td></tr>
</td>
</table>
</table> </tr>
</body>
</html>
El ejemplo lo podeis ver
AQUÍSi pinchais en mas información o en la foto, que por cierto tampoco me funciona, vais a otra página y te da el error de que no se pudo ejecutar la consulta. Pero si os fijais arriba e n la barra pone la ruta bién y con el nº del id, osea que vuelvo a decir que creo que lo que estoy haciendo mal es el envío o la recepción de la variable iden.
A ver si alguien me puede orientar un poco.
Ya plantee parte de la consulta en el apartado de bases de datos, pero creo que la plantee mal haciendo referencia a una consulta sobre php, por eso puede que esté mejor la consulta aquí.
Muchas gracias de antemano.