Foros del Web » Programando para Internet » PHP »

Arreglos asociativos.

Estas en el tema de Arreglos asociativos. en el foro de PHP en Foros del Web. Hola, tengo una duda de como recuperar los valores de un campo llamado valor_porcentual de MySQL y dejarlos como un arreglo asociativo. Por ejemplo: @import ...
  #1 (permalink)  
Antiguo 25/01/2010, 20:09
 
Fecha de Ingreso: octubre-2009
Mensajes: 74
Antigüedad: 14 años, 6 meses
Puntos: 0
Arreglos asociativos.

Hola, tengo una duda de como recuperar los valores de un campo llamado valor_porcentual de MySQL y dejarlos como un arreglo asociativo.

Por ejemplo:
Código PHP:
Ver original
  1. $valores= array(0=>50, 1=>20, 3=>30);
Saludos :D
  #2 (permalink)  
Antiguo 25/01/2010, 20:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Arreglos asociativos.

¿Pero que deseas hacer con ese array? ¿Cómo deseas verlo?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 25/01/2010, 20:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 74
Antigüedad: 14 años, 6 meses
Puntos: 0
Bueno, deseo recuperar valores de un campo en MySQL

para que pasen por una función.

Está función:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function magia ($valores, $cambia, $vcambia) {
  4.  
  5.         echo implode(",",$valores);
  6.  
  7.         echo " => ";
  8.  
  9.         $vresto= 100 - $valores[$cambia];
  10.         $nresto= 100 - $vcambia;
  11.  
  12.         $contribuciones= array();
  13.  
  14.         foreach ($valores as $key=>$val) if ($key != $cambia) $contribuciones[$key]= $val / $vresto;
  15.  
  16.         foreach ($valores as $key=>$val) if ($key != $cambia) $valores[$key]= $nresto * $contribuciones[$key];
  17.         $valores[$cambia]= $vcambia;
  18.  
  19.         echo implode(",",$valores);
  20.         echo '<br>';
  21.  
  22.         $total= 0;
  23.         foreach($valores as $val) $total+= $val;
  24.         echo " suma : $total\n";
  25.         echo '<br>';
  26. }
  27.  
  28. $valores= array(0=>50, 1=>20, 3=>30);
  29.  
  30. magia($valores,0,0);
  31. magia($valores,0,10);
  32. magia($valores,0,20);
  33. magia($valores,0,30);
  34. magia($valores,0,40);
  35. magia($valores,0,50);
  36. magia($valores,0,60);
  37. magia($valores,0,70);
  38. magia($valores,0,80);
  39. magia($valores,0,90);
  40. magia($valores,0,100);
  41.  
  42. ?>

Deseo que los valores de
Código PHP:
Ver original
  1. $valores= array(0=>50, 1=>20, 3=>30);
los recupere de un campo que tengo en mi base de datos

Gracias por responderme :D

Bueno mejor dejo mi codigo PHP.

Código PHP:
Ver original
  1. <?php
  2. require_once '../../../config/mysql.php';
  3. $dbCon = Conectarse();
  4.  
  5. // Capturamos los valores con $_GET[]
  6. $productor              = $_GET['productor'];           //Ej. : Agricola Saenz
  7. $especie                = $_GET['especie'];             //Ej. : Ciruela
  8. $variedad               = $_GET['variedad'];            //Ej. : Angeleno
  9. $etapa                  = $_GET['etapa'];               //Ej. : 2
  10. $calibre                = $_GET['calibre'];             //Ej. : 36
  11.  
  12. $porcentualReal         = $_GET['porcentualReal'];      //El Porcentaje de este calibre 36 es 1.9, esta variable guarda : 1.12
  13. $porcentual             = $_GET['campoPorcentual'];     //Lo que el usuario a ingresado en la casilla porcentual, Ej: 70.
  14.                            
  15.  
  16. // Actualizamos el valor porcentual con el valor que el usuario a ingresado.
  17. mysql_query("UPDATE criterio_calibres SET valor_porcentual = $porcentual WHERE `criterio_calibres`.`id_especie` = '$especie' AND `criterio_calibres`.`id_productor` = '$productor' AND `criterio_calibres`.`id_variedad` = '$variedad' AND `criterio_calibres`.`etapa` = $etapa AND `criterio_calibres`.`id_calibre` = $calibre LIMIT 1", $dbCon)or die(mysql_error());
  18.  
  19. // Sumamos la cantidad de valores porcentuales en total.
  20. $queryCriterioCalibre = mysql_query("SELECT SUM(valor_porcentual) as suma FROM criterio_calibres WHERE id_productor = '$productor' AND id_especie = '$especie' AND id_variedad = '$variedad' AND etapa = $etapa", $dbCon);
  21. $resultadoPorcentual = mysql_fetch_array($queryCriterioCalibre);
  22. $Suma = round($resultadoPorcentual['suma'],0);
  23. //Ej: $Suma = 162
  24.  
  25. $antiguo_valor= $porcentualReal;
  26. $nuevo_valor=   $porcentualReal;
  27.  
  28. $Cero = 0 ;
  29. $result=   mysql_query("select `id_especie`,`id_productor`,`id_variedad`,`etapa`,`id_calibre`, `valor_porcentual`  FROM criterio_calibres WHERE CONVERT(`criterio_calibres`.`id_especie` USING utf8) = '$especie' AND CONVERT(`criterio_calibres`.`id_productor` USING utf8) = '$productor' AND CONVERT(`criterio_calibres`.`id_variedad` USING utf8) = '$variedad' AND `criterio_calibres`.`etapa` = $etapa AND `criterio_calibres`.`id_calibre` != $calibre AND `criterio_calibres`.`valor_porcentual` != $porcentual AND `criterio_calibres`.`valor_porcentual` > $Cero", $dbCon)or die(mysql_error());
  30.  
  31. $valores =  Array();
  32.  
  33. while ($obj= mysql_fetch_object($result)){
  34.     $valores[implode("|",Array($obj->id_especie,$obj->id_productos, $obj->id_variedad, $obj->etapa, $obj->id_calibre))]= $obj->valor_procentual;
  35. }
  36.  
  37. foreach($valores as $key=>$val){
  38.     if($val == $antiguo_valor){
  39.         $vkey= $key;
  40.     }
  41. }
  42.  
  43. function magia (&$valores, $cambia, $vcambia) {
  44.    
  45.         echo implode(",",$valores);
  46.  
  47.         echo " => ";
  48.  
  49.         $vresto= 100 - $valores[$cambia];
  50.         $nresto= 100 - $vcambia;
  51.  
  52.         $contribuciones= array();
  53.  
  54.         foreach ($valores as $key=>$val) if ($key != $cambia) $contribuciones[$key]= $val / $vresto;
  55.  
  56.         foreach ($valores as $key=>$val) if ($key != $cambia) $valores[$key]= $nresto * $contribuciones[$key];
  57.         $valores[$cambia]= $vcambia;
  58.  
  59.         echo implode(",",$valores);
  60.  
  61.         $total= 0;
  62.         foreach($valores as $val) $total+= $val;
  63.         echo " suma : $total\n";
  64.  
  65.  
  66. }
  67.  
  68. magia($valores, $vkey, $nuevo_valor); // <= tienes que cambiar la definicion de magia a :   >>> function magia (&$valores, $cambia, $vcambia) <<< Para que se modifique el array
  69.  
  70.  
  71. foreach ($valores as $key=>$val) {
  72.  
  73.     $keys= explode("|",$key);
  74.     mysql_query("update `criterio_calibres` set  `valor_porcentual` = $val where `id_especie` = {$keys[0]} AND `id_productor`  = {$keys[1]} AND `id_variedad`  = {$keys[2]} AND `etapa`  = {$keys[3]} AND `id_calibre`  = {$keys[4]} limit 1");
  75.  
  76. }
  77. /* ++++++++++++++++++++ Fin +++++++++++++++++++++++*/

Gracias :D

Ya lo he solucionado :D

Última edición por GatorV; 26/01/2010 a las 10:43

Etiquetas: arreglos
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 09:24.