Foros del Web » Programando para Internet » PHP »

Llamado de Metodos en un For

Estas en el tema de Llamado de Metodos en un For en el foro de PHP en Foros del Web. Buenas noches compañeros, antes que nada FELIZ NAVIDAD para todos!!. Molesto porque tengo un problema al llamar a dos metodos de una clase. El problema ...
  #1 (permalink)  
Antiguo 23/12/2011, 23:12
 
Fecha de Ingreso: octubre-2011
Ubicación: Montevideo
Mensajes: 22
Antigüedad: 12 años, 6 meses
Puntos: 1
Llamado de Metodos en un For

Buenas noches compañeros, antes que nada FELIZ NAVIDAD para todos!!.
Molesto porque tengo un problema al llamar a dos metodos de una clase. El problema es que las llamo antes de un for que me genera una tabla. Cada metodo me despliega una lista del tipo "<select><option>" con la informacion que esta en la base. El problema es que muestra las listas correctamente pero en la de proveedor me dice ademas de los campos de la base: "Notice: Undefined index: nom_proveedor in . . . .in line 91", dos veces.

Se que me lo dice dos veces porque en la tabla de "rubros" hay dos rubros ingresados, si en la misma ingreso otro rubro me da el error tres veces y asi . . .

Ademas si genero la tabla pero no llamo a los rubros no me da este problema con los proveedores y al reves tambien . . . espero que puedan ayudarme, desde ya MUCHAS GRACIAS!!

aca dejo el Codigo:

Código PHP:
<table border="1px" cellspacing="1px">
                        <tr>
                            <td width="480px">Proveedor</td>
                            <td width="480px">Nombre</td>
                            <td width="480px">Descripcion</td>
                            <td width="40px">Cantidad</td>
                            <td width="40px">Rubro</td>
                            <td width="40px">Precio Unidad</td>
                            <td width="40px">Precio Total</td>
                        </tr>
                        <?php
                            
                            $cargar_rubro
=$pro->cargar_rubro();
                            
$cargar_prov=$pro->cargar_proveedor();
                            for (
$i=0;$i<count($solicitud);$i++){
                            
                        
?>
                        <tr>
                            <td><select id="" name="proveedor">
                            <option value="0">- Proveedor -</option>
                            <?php
                                
                                $contar_prov
=count($cargar_prov);
                                for (
$j=0;$j<$contar_prov;$j++){
                                
                            
?>
                                <option value='<?php echo $cargar_prov[$j]["nom_proveedor"];?>'><?php echo $cargar_prov[$j]["nom_proveedor"];?></option>";
                            <?php
                                
                                
}
                            
?>
                            </select></td>
                            <td width="480px"><input type="text" name="nombre[]" size="44" value="<?php echo $solicitud[$i]["nombre"];?>"></td>
                            <td width="480px"><input type="text" name="descripcion[]" size="44" value="<?php echo $solicitud[$i]["descripcion"];?>"></td>
                            <td width="40px"><input type="text" name="cantidad[]" size="10" value="<?php echo $solicitud[$i]["cantidad"];?>" ></td>
                            <td><select id="" name="rubro">
                            <option value="0">- Rubro -</option>
                            <?php

                                $contar_rubro
=count($cargar_rubro);
                                for (
$k=0;$k<$contar_rubro;$k++){

                            
?>
                                <option value='<?php echo $cargar_rubro[$k]["nom_rubro"];?>'><?php echo $cargar_rubro[$k]["nom_rubro"];?></option>";
                            <?php

                                
}
                            
?>
                            </select></td>
                            <td width="40px"><input type="text" name="precio_total[]" size="10" value=""></td>
                            <td width="40px"><input type="text" name="precio_unitario[]" size="10" value=""></td>
                        </tr>
                        <?php ?>
                    </table>
  #2 (permalink)  
Antiguo 24/12/2011, 00:04
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Llamado de Metodos en un For

Hola. Ese error te lo da porque el índice no existe en el array.

En $cargar_prov[$j] no existe nigún índice ["nom_proveedor"];

Para ver el contenido completo de $cargar_prov pones antes del for:

echo '<pre>';
print_r($cargar_prov);
echo '</pre>';

Eso te despliega todo el array en pantalla. Así puedes ver si realmente el índice "nom_proveedor" existe en el array.

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #3 (permalink)  
Antiguo 24/12/2011, 00:39
 
Fecha de Ingreso: octubre-2011
Ubicación: Montevideo
Mensajes: 22
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Llamado de Metodos en un For

tenes razon!! pero porque pasa eso? porque no me carga el id??, es un problema con la BD?? porque en relidad las tablas son identicas. Las dos tienen id y nombre nada mas . . .

Te dejo el resultado :


Array
(
[0] => Array
(
[nom_rubro] => Informatica
[id_rubro] => 1
)

[1] => Array
(
[nom_rubro] => Papeleria
[id_rubro] => 2
)

[2] => Array
(
[nom_proveedor] => Districomp
)

[3] => Array
(
[nom_proveedor] => Hard PC
)

[4] => Array
(
[nom_proveedor] => Palser
)

[5] => Array
(
[nom_proveedor] => Papeleria Aldo
)

)
  #4 (permalink)  
Antiguo 24/12/2011, 00:49
 
Fecha de Ingreso: octubre-2011
Ubicación: Montevideo
Mensajes: 22
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Llamado de Metodos en un For

YA ESTA!! MUCHAS GRACIAS POR LA AYUDA!!!!!! Analice el resultado y lo solucione rápidamente!!

Dejo la solución de como quedo el código.

Código PHP:
<table border="1px" cellspacing="1px" >
                        <tr>
                            <td width="480px">Proveedor</td>
                            <td width="480px">Nombre</td>
                            <td width="480px">Descripcion</td>
                            <td width="40px">Cantidad</td>
                            <td width="40px">Rubro</td>
                            <td width="40px">Precio Unidad</td>
                            <td width="40px">Precio Total</td>
                        </tr>
                        <?php
                           
                            $cargar_rubro
=$pro->cargar_rubro();
                            
$cargar_prov=$pro->cargar_proveedor();
                            
$contar_rubro=count($cargar_rubro);
                            for (
$i=0;$i<count($solicitud);$i++){
                           
                        
?>
                        <tr>
                            <td><select id="" name="proveedor">
                            <option value="0">- Proveedor -</option>
                            <?php
                               
                                $contar_prov
=count($cargar_prov);
                                for (
$j=$contar_rubro;$j<$contar_prov;$j++){
                               
                            
?>
                                <option value='<?php echo $cargar_prov[$j]["id_proveedor"];?>'><?php echo $cargar_prov[$j]["nom_proveedor"];?></option>";
                            <?php
                               
                                
}
                            
?>
                            </select></td>
                            <td width="480px"><input type="text" name="nombre[]" size="44" value="<?php echo $solicitud[$i]["nombre"];?>"></td>
                            <td width="480px"><input type="text" name="descripcion[]" size="44" value="<?php echo $solicitud[$i]["descripcion"];?>"></td>
                            <td width="40px"><input type="text" name="cantidad[]" size="10" value="<?php echo $solicitud[$i]["cantidad"];?>" ></td>
                            <td><select id="" name="rubro">
                            <option value="0">- Rubro -</option>
                            <?php

                               
                                
for ($k=0;$k<$contar_rubro;$k++){

                            
?>
                                <option value='<?php echo $cargar_rubro[$k]["nom_rubro"];?>'><?php echo $cargar_rubro[$k]["nom_rubro"];?></option>";
                            <?php

                                
}
                            
?>
                            </select></td>
                            <td width="40px"><input type="text" name="precio_total[]" size="10" value=""></td>
                            <td width="40px"><input type="text" name="precio_unitario[]" size="10" value=""></td>
                        </tr>
                        <?php ?>
                    </table>
  #5 (permalink)  
Antiguo 24/12/2011, 14:57
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Llamado de Metodos en un For

Que bueno que pudiste solucionarlo.

Saludos
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.

Etiquetas: llamado, metodos, tabla
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 13:04.