Foros del Web » Programando para Internet » PHP »

problema con: Undefined offset mysql_fetch_array

Estas en el tema de problema con: Undefined offset mysql_fetch_array en el foro de PHP en Foros del Web. Hola foro, tengo un problemilla con este script: Código PHP: <?php if (isset ( $_POST [ 'inicio' ])):      $inicio  =  $_POST [ 'inicio' ];      $fin  ...
  #1 (permalink)  
Antiguo 14/04/2011, 11:03
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 2 meses
Puntos: 2
Pregunta problema con: Undefined offset mysql_fetch_array

Hola foro, tengo un problemilla con este script:

Código PHP:
<?php
if (isset ($_POST['inicio'])):

    
$inicio $_POST['inicio'];
    
$fin $_POST['fin'];
    
    
$rango_fechas_pedimentos mysql_query("SELECT NUM_PEDIMENTO FROM pedimento_info WHERE FECHAS_PAGO >= DATE('$inicio') AND FECHAS_PAGO <= DATE('$fin')");
    if (!
$print) {die("Error en variable rango_fechas_pedimentos: " mysql_error());}
    
$cantidad_rango mysql_num_rows($rango_fechas_pedimentos);
    
$array1 mysql_fetch_array($rango_fechas_pedimentosMYSQL_NUM);
    echo 
"pedimentos que coinsiden con la busqueda: ".$cantidad_rango."<br /><br />";
    
    
$i=0;
    while (
$i $cantidad_rango){
        
        
$num_pedimento $array1[$i];
        
        
$partidas_pedimento mysql_query("SELECT DESCRIPCION FROM partidas WHERE NUM_PEDIMENTO = '$num_pedimento' LIMIT $i, 1");
        if (!
$partidas_pedimento) {die("Error en variable partidas_pedimento: " mysql_error());};
        
        
$array_partidas_pedimento mysql_fetch_array($partidas_pedimento);
        echo 
$array_partidas_pedimento['DESCRIPCION']."<br />";
        
$i++;
        
    };
    
else:

    echo 
"";
    
endif;
  
?>
Primero hago una consulta, digamos que me retorna 5 resultados, cuando hace el primer ciclo si muestra el primer valor (cuando $i = 0), pero cuando tiene valor de 1, no muestra nada, y me aparece esto:

Cita:
Notice: Undefined offset: 1 in C:\xampp\htdocs\testing\estadisticas.php on line 341
esa linea es esta:

Código PHP:
$num_pedimento $array1[$i]; 
Bueno, segun yo, deberia de funcionar, si en el $array1 hay mas de 1 registro. De hecho si escribo el numero 0, si muestra el primer registro, pero si escribo el 1 no aparece nada, y muestra ese mensaje.
  #2 (permalink)  
Antiguo 14/04/2011, 11:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con: Undefined offset mysql_fetch_array

no, porque mysql_fetch_array() solo devuelve un registro de todos los que seleccionaste... por eso al aumentar el contador, ya no existe dicho elemento...

para que funcione debes obtener todos los resultados, y guardarlo en el array:
Código PHP:
$array1 = array();
while (
$row mysql_fetch_array($rango_fechas_pedimentosMYSQL_NUM)) $array1 []= array_shift($row); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/04/2011, 11:16
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: problema con: Undefined offset mysql_fetch_array

a ver pruebale cambiando

Código PHP:
<?
$i
=0
    while (
$i $cantidad_rango){ 
         
        
$num_pedimento $array1[$i]; 
         
        
$partidas_pedimento mysql_query("SELECT DESCRIPCION FROM partidas WHERE NUM_PEDIMENTO = '$num_pedimento' LIMIT $i, 1"); 
        if (!
$partidas_pedimento) {die("Error en variable partidas_pedimento: " mysql_error());}; 
         
        
$array_partidas_pedimento mysql_fetch_array($partidas_pedimento); 
        echo 
$array_partidas_pedimento['DESCRIPCION']."<br />"
        
$i++; 
         
    };
?>
por esto

Código PHP:
 $i=0;
    while (
$row mysql_fetch_array($rango_fechas_pedimentosMYSQL_ASSOC)) {
    
        
$num_pedimento $row["NUM_PEDIMENTO"]; 
         
        
$partidas_pedimento mysql_query("SELECT DESCRIPCION FROM partidas WHERE NUM_PEDIMENTO = '$num_pedimento' LIMIT $i, 1"); 
        if (!
$partidas_pedimento) {die("Error en variable partidas_pedimento: " mysql_error());}; 
         
        
$array_partidas_pedimento mysql_fetch_array($partidas_pedimento); 
        echo 
$array_partidas_pedimento['DESCRIPCION']."<br />"
        
$i++; 
        
    } 
  #4 (permalink)  
Antiguo 14/04/2011, 11:41
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: problema con: Undefined offset mysql_fetch_array

Debe de quedar asi?:

Código PHP:
    $rango_fechas_pedimentos mysql_query("SELECT NUM_PEDIMENTO FROM pedimento_info WHERE FECHAS_PAGO >= DATE('$inicio') AND FECHAS_PAGO <= DATE('$fin')");
    if (!
$print) {die("Error en variable rango_fechas_pedimentos: " mysql_error());}
    
$cantidad_rango mysql_num_rows($rango_fechas_pedimentos);
    
//$array1 = mysql_fetch_array($rango_fechas_pedimentos, MYSQL_NUM);
    
echo "pedimentos que coinsiden con la busqueda: ".$cantidad_rango."<br /><br />";
    
    
$array1 = array();
while (
$row mysql_fetch_array($rango_fechas_pedimentosMYSQL_NUM)) $array1 []= array_shift($row);
    
    
$i=0;
    while (
$i $cantidad_rango){
        
        
//$nums_pedimento = mysql_query("SELECT NUM_PEDIMENTO FROM pedimento_info WHERE FECHAS_PAGO >= DATE('$inicio') AND FECHAS_PAGO <= DATE('$fin') LIMIT $i, 1");
        //if (!$nums_pedimento) {die("Error en variable nums_pedimento: " . mysql_error());}
        //$array_nums_pedimento = mysql_fetch_array($nums_pedimento);
        
        //echo $array_nums_pedimento['NUM_PEDIMENTO']."<br />";
        
$num_pedimento =  $array1 [$i];
        
        
$partidas_pedimento mysql_query("SELECT DESCRIPCION FROM partidas WHERE NUM_PEDIMENTO = '$num_pedimento' LIMIT $i, 1");
        if (!
$partidas_pedimento) {die("Error en variable partidas_pedimento: " mysql_error());};
        
        
$array_partidas_pedimento mysql_fetch_array($partidas_pedimento);
        echo 
$array_partidas_pedimento['DESCRIPCION']."<br />";
        
$i++;
        
    }; 
Por que sigue mostrando solo el primer registro, pero ahora ya no muestra el mensaje.
  #5 (permalink)  
Antiguo 14/04/2011, 12:14
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: problema con: Undefined offset mysql_fetch_array

Bueno, creo que mejor hago un tema nuevo con lo que necesito, porque la verdad no encuentro la manera de hacerlo. Creo que va para MySQL

Etiquetas: offset, undefined
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 10:57.