• Lunes 23 de Diciembre de 2024, 04:33

Autor Tema:  Duda Tecnica con Mysql y php  (Leído 2410 veces)

Tarash_

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Duda Tecnica con Mysql y php
« en: Viernes 6 de Noviembre de 2009, 19:49 »
0
Buen dia! antes que nada.

Desearia saber si hay alguna restricción con respecto a realizar operaciones SQL dentro del código PHP?, pero dentro del cuerpo de la página.
[Nota:. Soy totalmente puberto en PHP]

Pues sucede que cuando lo trato de hacer la la operación me arroja un error donde indica que el "MYSQL - LINK no es un recurso valido" o algo así. Probé para ver si tenia conexión a la BD y si la hay, probe si tenia error la instrucción SQL, y no la hay si la coloco al principio de la página antes de cargar el código HTML.

He aqui una idea de el problema.

<?php
--
--(Si coloco aqui las operaciones SQL no hay error y regresa los valores que quiero)
?>

<inicio codigo HTML página

<?php (Aqui si me marca error de MYSQL - LINK) ?>

Fin codigo>

** Ahora la razón por la cual quiero meter el codigo sql ahi es para que me haga una consulta para poder actualizar el valor de unos  controles SELECT en base al resultado de la consulta... Pero esa consulta la realizo de un ciclo FOR para poder modificar un control a la vez .

Alguna Idea ? o alguna otra alternativa más razonable? :P

Gracias de antemano.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Duda Tecnica con Mysql y php
« Respuesta #1 en: Viernes 6 de Noviembre de 2009, 19:52 »
0
Checa este código; respecto a tú error es muy raro, por favor muestranos lo que estás haciendo.
Código: PHP
  1. <?php
  2.    //Se liberan todas las sesiones anteriores
  3.    //session_unset();
  4.    //Regeneramos la sesión para evitar guardar datos
  5.    //con sesiones anteriores
  6.    include 'include/configuration.php';
  7.  
  8.    //Variable a utilizar
  9.    //Esta se pasa por metodo GET si hubo error al conectar
  10.    $msg = $_GET['msg'];
  11. ?>
  12. <html>
  13. <head>
  14.   <title>Portal B2B</title>
  15.   <link rel="stylesheet" type="text/css" href="style.css" />
  16.   <link rel="icon" href="img/favicon.ico" type="image/x-icon" />
  17. </head>
  18. <body onLoad='document.registro.usulog.focus();'>
  19.   <form name='registro' action="<? $_SERVER['PHP_SELF']; ?>" method="post" class="formLogin">
  20.     <fieldset><legend> Acceso / Login <? if($msg!=''){ echo "<br>".$msg;} ?></legend>
  21.     <p>
  22.          <label for="username">Usuario: </label>
  23.      <input id="username" name="usulog" type="text">
  24.     </p>
  25.     <p>
  26.      <label for="password">Contraseña:</label>
  27.      <input id="password" name="usupass" type="password">
  28.     </p>
  29.     <p>
  30.      <center><input value="Ingresar" name="entrar" id="submit" class="button" tabindex="3" type="submit"></center>
  31.     </p>
  32.     </fieldset>
  33.   </form>
  34. </body>
  35. </html>
  36. <?php
  37.    if ($_POST['entrar'])
  38.    {
  39.      //Se declaran las variables de sesion
  40.      $_SESSION['username'] = make_safe($_POST['usulog']);
  41.      $_SESSION['userpass'] = make_safe($_POST['usupass']);
  42.      $_SESSION['authuser'] = 0; //Si no se ha registrado
  43.      $_SESSION['tipo_usu']; //Con esto sabemos el tipo de usuario registrado
  44.      $_SESSION['destino'];  //Con esta sabemos a que destino pertenece
  45.  
  46.      $lquery = "SELECT login, passwd, id_tipo, id_destinos FROM tbusuarios
  47.                 WHERE login='".$_SESSION['username']."' AND pass='".md5($_SESSION['userpass'])."'";
  48.      $query = $sql->query($lquery);
  49.  
  50.      if($query[1]==0) //Si no ha devuelto un array de datos
  51.      {
  52.        //Se deja el array de sesion en blanco
  53.        $_SESSION = array();
  54.        session_destroy();
  55.        echo "<script>document.location.href='index.php?msg=Login o Password incorrecto';</script>";
  56.      }
  57.      else
  58.      {
  59.        $_SESSION['authuser'] = 1;
  60.        $_SESSION['tipo_usu'] = $query[2][2];
  61.        $query_ses = $sql->query("UPDATE tbusuarios SET sesion='".session_id()."' WHERE login='".$_SESSION['username']."'", 2);
  62. ?>
  63.        <script>document.location.href='index2.php';</script>
  64. <?
  65.      }
  66.    }
  67. ?>
  68.  
El pasado son solo recuerdos, el futuro son solo sueños

Tarash_

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Duda Tecnica con Mysql y php
« Respuesta #2 en: Viernes 6 de Noviembre de 2009, 20:20 »
0
Esta codigo referente a la conexion a la BD .. No tengo problemas con el.

Código: PHP
  1.  
  2. function Conectarse() // Uso este codigo para conectarme a la base
  3. {
  4.    $pw = "xxx";
  5.    if (!($link=mysql_connect("localhost","root", $pw)))
  6.    {
  7.       echo "Error conectando a la base de datos.";
  8.       exit();
  9.    }
  10.    if (!mysql_select_db("doctosnormaiso",$link))
  11.    {
  12.       echo "Error seleccionando la base de datos.";
  13.       exit();
  14.    }
  15.    else
  16.    return $link;
  17. }
  18.  

Este codigo en la página
Código: PHP
  1.  
  2. <?php
  3.     //inicia el uso de variables de sesion
  4.     session_start();  
  5.     include("../libs/conecta.php");
  6.     if (!isset($_SESSION["nombre"]))
  7.         header("Location: ../index.php");
  8.     $link=Conectarse();  //llama funcion que conecta a la bd
  9. ?>
  10.  
  11.  

Y está es la porción de código que me da problema dentro del cuerpo de la pagina, en error me lo indica en $result=mysql_query()

Código: PHP
  1.  
  2. <?php            
  3.     for ($i=1;$i<=$unidad;$i++)
  4.         {          
  5.          $flag="";
  6.         $sql="select campox from tabla where (id=' ".$_POST["textbox"]." ' and uni=' ".$i." ' )";
  7.         $result=mysql_query($sql, $link);
  8.         if ($result)
  9.              { $Row=mysql_fetch_assoc($result);
  10.                 if ($Row["campox"]==1)
  11.                       $flag=' SELECTED="" ' ;
  12.               }
  13. //////////////////////////////////////////
  14.             $C="otro".$i;
  15.             echo  '<SELECT NAME="'.$C.'" SIZE=1 >
  16.                        <OPTION VALUE="0">Pendiente</OPTION>
  17.                         <OPTION VALUE="1" '.$flag.'>OK</OPTION>
  18.                    </SELECT>';
  19. //////////////////////////////////////////////
  20.         }
  21.  ?>
  22.  
  23.  

Tarash_

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Duda Tecnica con Mysql y php
« Respuesta #3 en: Viernes 6 de Noviembre de 2009, 23:05 »
0
Pues indagando por varios lugares me he encontrado la opción de probar con variables de sesión. Y me casi me funciona.

Pero aun no tengo resultados ...  :(

Tarash_

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Duda Tecnica con Mysql y php
« Respuesta #4 en: Sábado 7 de Noviembre de 2009, 01:49 »
0
Bueno con esto al fin despues de razonar un poco mas. Así quedó a mi gusto.

He aqui la parte de código en la página:
Código: PHP
  1.  
  2. <?php            
  3.     $vector=$_SESSION["array1"];
  4.     for ($i=0;$i<$unidad;$i++)
  5.         {$flag2="";
  6.                if ($vector[$i]==1)
  7.                 $flag2=' SELECTED=""';
  8.  
  9.             $C="otro".$i;
  10.             echo  '<SELECT NAME="'.$C.'" SIZE=1 >
  11.                    <OPTION VALUE="0">Pendiente</OPTION>
  12.                 <OPTION VALUE="1" '.$flag2.'>OK</OPTION>
  13.                     </SELECT>';
  14.         }
  15.  ?>
  16.  

Y esta parte de codigo de la función que llamo en un script:
Código: PHP
  1.  
  2. <?php
  3. function busqueda_aux($link)
  4.     {   
  5.  
  6.         $sql="select unid,edo from ctrl_doctos where (id_curso='".$_POST["cve"]."' and";
  7.         $sql.=" doctos='Otro') order by unid"; 
  8.         $result=mysql_query($sql,$link);
  9.         if ($result)
  10.                 {
  11.                     while ($aux=mysql_fetch_assoc($result))
  12.                             {$matriz[]=$aux["edo"];
  13.                             $_SESSION["array1"]=$matriz;
  14.                 }
  15.                
  16.                 }
  17.         else
  18.         {$GLOBALS["msg"]="¡NO SE ENCONTRARON COINCIDENCIAS";}
  19.    
  20.     }
  21.  
  22.  
  23.  
  24. ?>
  25.  

La idea que apliqué al final fue crear una matriz dentro de la función que guardara los valores de la consulta de un campo en especifico y de ahi pues asignarlo a la variable de tipo sesion. Y en la página asigno esa variable de sesion a otra para poder recorrer los datos.  ;)