elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:45  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  problemas con array multidimencional
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemas con array multidimencional  (Leído 878 veces)
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
problemas con array multidimencional
« en: 30 Junio 2011, 03:13 »

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

Citar
Notice: 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.

Código
<?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...

Código
<? 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...


En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

cassiani


Desconectado Desconectado

Mensajes: 946


« Anterior | Próximo »


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #1 en: 30 Junio 2011, 06:00 »

si no me equivoco, es porque en esta linea:
Código:
<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!!


« Última modificación: 30 Junio 2011, 06:02 por cassiani » En línea

Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #2 en: 30 Junio 2011, 06:23 »

Puedes hacer uso de la función que uso en mis aplicaciones,

Código
	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;
}
}
En línea

---
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #3 en: 30 Junio 2011, 14:40 »

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!!!!
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

cassiani


Desconectado Desconectado

Mensajes: 946


« Anterior | Próximo »


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #4 en: 30 Junio 2011, 16:12 »

listo, el problema esta en como armas el array, cambia esto:

Código:
$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:
Código:
$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:
Código:
echo '<pre>',print_r($datos),'</pre>';
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #5 en: 30 Junio 2011, 16:45 »

mmmm por que no haces algo como

Código
<?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
En línea

Ojo por ojo, y el mundo acabará ciego.
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #6 en: 30 Junio 2011, 23:30 »

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?
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problemas con array multidimencional
« Respuesta #7 en: 1 Julio 2011, 00:03 »

OK implemente el code de Nakp y anda perfecto
gracias a todos por su colaboracion
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines