Jejej yo de nuevo molestando por el foro, pero nose que sucede
esta matriz multidimencional funciona bien con 1 valor, cuando ingreso 3 o mas valores solo me imprime el ultimo valor, el resto me los muestra como errores de lineas, aqui un ejemplo de lo que me imprime
CitarNotice: Undefined offset: 0 in C:\xampp\htdocs\agsiscom\oferts.php on line 46
bueno aqui el code. y no puede ser por la consulta, por k la ejecute en phpmyadmin y me dio perfectamente.
<?php
include ('adm/conexion.php');
$link=conectarse();
mysql_select_db('agsiscom',$link)or die ('Error al seleccionar la Base de Datos '.mysql_error());
$rs=mysql_query("SELECT * FROM items WHERE oferta='Si' AND estado='Disponible' ORDER BY fechaoferta DESC LIMIT 6");
$msg=NULL;
$idx=0;
if ($rs) {
while ($row=mysql_fetch_assoc($rs)) {
$datos=array(
$idx=>array('cod'=>trim($row['codigo']),
"img"=>trim($row['imgurl']),
"dc"=>trim($row['descuento']),
"title"=>trim($row['search']),
"val"=>trim($row['valor'])
)
);
$idx++;
}
} else { $msg="Actualmente no hay Ofertas de productos."; }
?>
bueno y aqui el code que uso para imprimirla...
<? if ($msg!=NULL) { echo $msg; exit(); }?>
<table width="578" height="295" border="0" cellpadding="1">
<tr>
<td width="180" style="color:#00F; font-style:italic"><b><? echo $datos[0]['title']; ?></b></td>
<td width="180" style="color:#00F; font-style:italic"><b><? echo $datos[1]['title']; ?></b></td>
<td width="180" style="color:#00F; font-style:italic"><b><? echo $datos[2]['title']; ?></b></td>
</tr>
<tr>
<td height="180"><img src="<? echo $datos[0]['img']; ?>" width="180" height="180"></td>
<td height="180"><img src="<? echo $datos[1]['img']; ?>" width="180" height="180"></td>
<td height="180"><img src="<? echo $datos[2]['img']; ?>" width="180" height="180"></td>
</tr>
<tr>
<td height="76"><b><font size="-1">
Codigo: <? echo $datos[0]['cod']; ?><br/>
Valor $: <? echo $datos[0]['val']; ?><br/>
Descuento: <? echo $datos[0]['dc']; ?> %<br/></font><font color="#FF0000" style="font-style:oblique">
Precio $: <? echo ($datos[0]['val']-($datos[0]['val']*($datos[0]['dc']/100))); ?></font></b></td>
<td height="76"><b><font size="-1">
Codigo: <? echo $datos[1]['cod']; ?><br/>
Valor $: <? echo $datos[1]['val']; ?><br/>
Descuento: <? echo $datos[1]['dc']; ?> %<br/></font><font color="#FF0000" style="font-style:oblique">
Precio $: <? echo ($datos[1]['val']-($datos[1]['val']*($datos[1]['dc']/100))); ?></font></b></td>
<td heigth="76"><b><font size="-1">
Codigo: <? echo $datos[2]['cod']; ?><br/>
Valor $: <? echo $datos[2]['val']; ?><br/>
Descuento: <? echo $datos[2]['dc']; ?> %<br/></font><font color="#FF0000" style="font-style:oblique">
Precio $: <? echo ($datos[2]['val']-($datos[2]['val']*($datos[2]['dc']/100))); ?></font></b></td>
</tr>
<tr>
<td><input type="submit" class="button3" value="Ver mas" style="float:right" onClick="showitem.php?cod='<? echo $datos[0]['codigo']?>'"><hr color="#000099" size="1px"/></td>
<td><input type="submit" class="button3" value="Ver mas" style="float:right" onClick="showitem.php?cod='<? echo $datos[1]['codigo']?>'"><hr color="#000099" size="1px"/></td>
<td><input type="submit" class="button3" value="Ver mas" style="float:right" onClick="showitem.php?cod='<? echo $datos[2]['codigo']?>'"><hr color="#000099" size="1px"/></td>
</tr>
</table>
por fa colaboracion...
si no me equivoco, es porque en esta linea:
<td><input type="submit" class="button3" value="Ver mas" style="float:right" onClick="showitem.php?cod='
<? echo $datos[X]['codigo']?>'"><hr color="#000099" size="1px"/></td>
no existe $datos[X]['codigo'], cambialo por $datos[X]['cod'] y avisa como te va.
saludos!!
Puedes hacer uso de la función que uso en mis aplicaciones,
function connection($host = "127.0.0.1", $db = "dbGoogleMaps", $user = "postgres", $pass = "root"){
/**
* Función para conectar a la base de datos.
*
* @param $host Servidor.
* @param $db Base de datos.
* @param $user Usuario.
* @param $pass Contraseña.
*
* @Autor Alex Jurado - Shell Root.
**/
try{
$cnn = new PDO("pgsql:host= '$host' port=5432 dbname='$db' user='$user' password='$pass'");
$cnn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
return $cnn;
}catch(PDOException $ex){
print $ex->getMessage();
return NULL;
}
}
function execQuery($sql, $return = TRUE){
/**
* Función para ejecutar una query con o sin
* retorno de datos.
*
* @param $sql Sentencia SQL para ejecutar.
* @param $return FALSE: Ejecución directa.
* TRUE : Con retorno de datos.
* ONE : Existencia de registro.
*
* @Autor Alex Jurado - Shell Root.
**/
$cnn = connection();
try{
$query = $cnn->query($sql);
}catch(PDOException $ex){
print $ex->getMessage();
return FALSE;
}
if($return){
while ($rows = $query->fetch(PDO::FETCH_ASSOC)){
$dataReturn[] = $rows;
}
return $dataReturn;
}elseif(!$return){
return TRUE;
}elseif($return == "ONE"){
return ($query->fetchColumn())? TRUE : FALSE;
}else{
print "WTF! :D";
return FALSE;
}
}
Hola que tal a todos!
bueno acabe de arreglar el inconveniente que cassiani me ha dicho, pero el problema no va en eso
va en que la matriz solo me toma el ultimo valor.
no me toma los otros valores
- y [1] solo me imprime el ultimo!!!
que tengo de malo!!!!
listo, el problema esta en como armas el array, cambia esto:
$datos=array(
$idx=>array('cod'=>trim($row['codigo']),
"img"=>trim($row['imgurl']),
"dc"=>trim($row['descuento']),
"title"=>trim($row['search']),
"val"=>trim($row['valor'])
)
);
por esto:
$datos[] = array
(
'cod' => trim($row['codigo']),
'img' => trim($row['imgurl']),
'dc' => trim($row['descuento']),
'title' => trim($row['search']),
'val' => trim($row['valor'])
);
y avisa como te va.
siempre puedes verificar el contenido del arreglo usando un:
echo '<pre>',print_r($datos),'</pre>';
mmmm por que no haces algo como
<?php
foreach ($datos as $imagen) {
echo '<td height="180"><img src="'.$imagen['img'].'" width="180" height="180"></td>';
} ?>
y lo mismo para los otros datos de la sig columna, asi no recorres indices inexistentes
cassiani gracias, la arme asi por que era una matriz multidimencional, pero implemente tu ejercicio y me dio perfectametne.
Nakp voy a implementar tu code, la verdad yo habia pensado en esto pero para todo junto no separado...
igual gracias
les aviso como me fue?
OK implemente el code de Nakp y anda perfecto
gracias a todos por su colaboracion