Foros del Web » Programando para Internet » PHP »

Consulta SQL bajo criterio por ODBC

Estas en el tema de Consulta SQL bajo criterio por ODBC en el foro de PHP en Foros del Web. Hola a todos necesito que me ayudeis a resolver esto o a que me deis un consejo. mi problema es que estoy haciendo una consulta ...
  #1 (permalink)  
Antiguo 23/08/2006, 03:29
 
Fecha de Ingreso: agosto-2006
Mensajes: 26
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Consulta SQL bajo criterio por ODBC

Hola a todos necesito que me ayudeis a resolver esto o a que me deis un consejo.

mi problema es que estoy haciendo una consulta a una base de datos en access, los campos a mostrar son los de una tabla personal que tengo todos los datos de los usuarios y también un numero de ID.

BUENO pues yo en mi pagina quisiera hacer una lista con el campo ID y que al seleccionar la ID que quiero me muestre todo los datos de ese campo.
por ahora tengo ya el campo que donde residen todas las ID de los usuarios pero el problema esta en que me muestre todos los datos de esa ID.
ESTE ES EL CODIGO:

<select name="ID"><option value="<?php
include_once("c:\adodb\adodb.inc.php");
$connexio = NewADOConnection("access");
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\RRHHprg.mdb;";
$sql ='select ID from Personal';
$connexio->Connect($dsn) or die ("No s'ha pogut connectar amb la BD");
$rs = $connexio->Execute($sql);
print $rs->fields['ID'].' '.$rs->fields['1'].'<BR>';
print $rs->GetMenu('ID',$rs,false);
?>"></option>
</select>

Aqui me muestra el la lista de ID que tengo para cada usuario y quisiera elegir un numero de dicha lista y que me muestre todos los datos del usuario incluyendo la ID.

Gracias de antemano,
  #2 (permalink)  
Antiguo 23/08/2006, 03:49
 
Fecha de Ingreso: julio-2006
Mensajes: 14
Antigüedad: 17 años, 8 meses
Puntos: 0
Una solución muy sencilla sería introducir el select que muestras en un formulario y enviarlo a otra página donde recogeríamos su valor y construiriamos una nueva sql:

$id = $_POST['ID'];

$sql ="select * from Personal where ID = '$id'";
  #3 (permalink)  
Antiguo 23/08/2006, 04:02
 
Fecha de Ingreso: agosto-2006
Mensajes: 26
Antigüedad: 17 años, 8 meses
Puntos: 0
esperando

bueno miestras he estado esperando he ido experimentando y he conseguido esto pero me sale error en la segunda sentencia.

<form action="consultar.php" method="post" enctype="application/x-www-form-urlencoded" name="Identidad" target="_parent">
<select name="ID"><option value="<?php
include_once("c:\adodb\adodb.inc.php");
$connexio = NewADOConnection("access");
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\RRHHprg.mdb;";
$sql ="select ID from Personal";
$connexio->Connect($dsn) or die ("No s'ha pogut connectar amb la BD");
$rs = $connexio->Execute($sql);
print $rs->fields['0'].' '.$rs->fields['1'].'<BR>';
print $rs->GetMenu('ID',$rs,false);
?>"></option>
</select>
<input type="submit" name="Submit10" value="Enviar" >
</form>
<?php

include("c:\adodb\adodb.inc.php");
include_once("c:/adodb/tohtml.inc.php");

$conn = NewADOConnection("access");
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\RRHHprg.mdb;";
$sql2 ="select * from Personal where ID =('".$_POST['ID']."');";
$conn->Connect($dsn) or die ("No s'ha pogut connectar amb la BD");
$resultat= $conn->Execute ($sql2) or die ("Error SQL : $sql2");
if ($resultat->EOF)
print $conn->ErrorMsg();
else {

if (!$resultat->EOF){
$Atrib_Taula=" width= '50%' border ='3' cellpadding='3' cellspacing='5' bgcolor='#CCCCCC' bordercolor='#CCCCCC'";
$Nom_Colum=array('ARTICLES','NOMBRE','FAMILIA','PR ECIOS REALES','IDENTIFICADOR PROVEEDOR');
$Carac_html=False;
rs2html($resultat,$Atrib_Taula,$Nom_Colum,$Carac_h tml);

}
}
?>


MUCHISSIMAS GRACIAS POR CONTESTAR AHORA HARE LO QUE ME HAS DICHO
  #4 (permalink)  
Antiguo 23/08/2006, 04:27
 
Fecha de Ingreso: agosto-2006
Mensajes: 26
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo hola de nuevo

he hecho lo que tu me has dicho y funciona a mi manera tambien funciona ya he descubierto el posible error .

yo creo que pudiera ser que como la ID me la assigna access directamente que no la he de dar , entonces puediera ser este el motivo.

eso creo

espero tu respuesta

y muchissima gracias de verdad
  #5 (permalink)  
Antiguo 23/08/2006, 04:47
 
Fecha de Ingreso: julio-2006
Mensajes: 14
Antigüedad: 17 años, 8 meses
Puntos: 0
Busqueda

Es posible que te salga el error ya que la primera vez que cargas la página no viene de un POST... Prueba a meter tu codigo de la segundo sql dentro de este if:
Código PHP:
if($_POST)

 
//--> Tu código

Ya contaras si te funciona...

Un saludo
  #6 (permalink)  
Antiguo 25/08/2006, 01:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 26
Antigüedad: 17 años, 8 meses
Puntos: 0
Sonrisa Sigo con problemas

hola no funciona.
no he podido cnt antes porque h estado ocupada en otras cosas

te explico:

a la hora de buscar estoy buscando por nombre y por apellidos pero a la hora de mostrarlo no me muestra nada y si busco por ID me sale un error de sentencia.
te expongo el codigo.
<form action="consultar2.php" method="post" enctype="application/x-www-form-urlencoded" name="Nom" target="_parent">
<select name="Nom"><option value="<?php
include_once("c:\adodb\adodb.inc.php");
$connexio = NewADOConnection("access");
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\RRHHprg.mdb;";
$sql ="select distinct Nom from Personal";

$connexio->Connect($dsn) or die ("No s'ha pogut connectar amb la BD");
$rs = $connexio->Execute($sql);

print $rs->fields['0'].' '.$rs->fields['1'].'<BR>';
print $rs->GetMenu('Nom',$rs,false);

?>"></option>
</select>
<input type="submit" name="Submit10" value="Enviar" >
</form>
<form action="consultar2.php" method="post" enctype="application/x-www-form-urlencoded" name="Cognoms" target="_parent">
<select name="Cognoms"><option value="<?php
$Nom = $_POST['Nom'];
include_once("c:\adodb\adodb.inc.php");
$connexio = NewADOConnection("access");
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\RRHHprg.mdb;";
$sql ="select Cognoms from Personal where Nom='$Nom' ";

$connexio->Connect($dsn) or die ("No s'ha pogut connectar amb la BD");
$rs = $connexio->Execute($sql);

print $rs->fields['0'].' '.$rs->fields['1'].'<BR>';
print $rs->GetMenu('Cognoms',$rs,false);

?>"></option>
</select>
<input type="submit" name="Cognoms" value="EnviarCog">
</form>
<?php
$Nom=$_POST['Nom'];
$Cognoms =$_POST['Cognoms'];
if ($_POST['Cognoms']){
include("c:\adodb\adodb.inc.php");
include_once("c:/adodb/tohtml.inc.php");

$conn = NewADOConnection("access");
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\RRHHprg.mdb;";
$sql ="select * from Personal where Nom='$Nom'";
$conn->Connect($dsn) or die ("No s'ha pogut connectar amb la BD");
$resultat= $conn->Execute ($sql) or die ("Error SQL : $sql");
if ($resultat->EOF)
print $conn->ErrorMsg();
else {

if (!$resultat->EOF){
$Atrib_Taula=" width= '20%' border ='1' cellpadding='1' cellspacing='2' bgcolor='#CCCCCC' bordercolor='#CCCCCC'";
$Nom_Colum=array('ID','Nom','Cognoms','DNI','Estat s');
$Carac_html=False;
rs2html($resultat,$Atrib_Taula,$Nom_Colum,$Carac_h tml);

}
}
}
?>

Necesito una ayudita please,
Espero tu respuesta y MUCHAS GRACIAS
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 02:58.