Foros del Web » Programando para Internet » PHP »

Mostrar datos de base de datos

Estas en el tema de Mostrar datos de base de datos en el foro de PHP en Foros del Web. Hola, tengo una serie de archivos subidos a la base de datos en una tabla llamada documentos que esta relacionada con otra tabla llamada clientes, ...

  #1 (permalink)  
Antiguo 07/05/2007, 13:27
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Mostrar datos de base de datos

Hola, tengo una serie de archivos subidos a la base de datos en una tabla llamada documentos que esta relacionada con otra tabla llamada clientes, primero inserto los campos de la base y luego los subo fisicamente, hasta ahi bien, luegos esos archivos los quiero mostrar en lista por su nombre por ejemplo si es una foto, que me salga su nombre en plan link le pinches y te muestre la foto. El tema es que quiero que me salgan los enlaces a los documentos según el cliente que se loguee porque para eso estan relacionadas las tablas...pero no me muestra nada, a continuación os muestros el código a ver si veis el fallo, gracias de antemano...

Esta es la estructura de la base de datos, clientes esta relacionado con expedientes y este con documentos

Código PHP:

$sql 
"CREATE TABLE Clientes ( 
dni VARCHAR (9) NOT NULL,
nombre VARCHAR (100) NOT NULL,
apellido1 VARCHAR (100) NOT NULL,
apellido2 VARCHAR (100) NOT NULL,
direccion VARCHAR (200) NOT NULL,
telefono INT (9) NOT NULL,
mail VARCHAR (50) NOT NULL,
login VARCHAR (100) NOT NULL,
pass  VARCHAR (100) NOT NULL,
pass2  VARCHAR (100) NOT NULL,
PRIMARY KEY (dni)
) TYPE = INNODB;"





$sql "CREATE TABLE Expedientes (
expediente INT (20) NOT NULL AUTO_INCREMENT,
nombre VARCHAR (50) NOT NULL,
fecha VARCHAR (20) NOT NULL,
direccion VARCHAR (200) NOT NULL,
dni VARCHAR (9) NOT NULL,
PRIMARY KEY (expediente),
INDEX (dni),
FOREIGN KEY (dni) REFERENCES Clientes(dni) 
) TYPE = INNODB;"
;
      



$sql "CREATE TABLE Documentos(
id_documento VARCHAR (40) NOT NULL,
tipo VARCHAR (20) NOT NULL,
nombre VARCHAR (50) NOT NULL,
expediente INT (20) NOT NULL,
comentario VARCHAR (255),
PRIMARY KEY (id_documento),
INDEX (expediente),
FOREIGN KEY (expediente) REFERENCES Expedientes(expediente) 
) TYPE = INNODB;"

Y esto es cuenta.php que es donde después de loguearse el cliente se le tienen que mostrar sus registros de la tabla cliente, su expediente y los archivos de ese expediente...La sesion de usuario la abre bien porque me muestra bien el cliente guardado en esta variable .$_SESSION['usNick'], os adjunto el código siento el tocho

Código PHP:

//la consulta
$result = mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");  

//el formulario donde quiero que me salgan los datos del cliente
<form id="form1" method="post" action="">
<fieldset class="clase1"><legend>Datos Personales</legend>
    <label for="nombre">Nombre</label><input  name="nombre" type="text" id="nombre" value= "<?php $row["nombre"];?>" size="40" readonly="readonly"/>
    <br />
    <label for="apellidom">Apellido </label><input name="apellido1" type="text" id="apellido1" value= "<?php echo $row["apellido1"];?>" size="40" readonly="readonly"/>
    <br />
    <label for="apellidop">Apellido </label><input name="apellido2" type="text" id="apellido2" value= "<?php echo $row["apellido2"];?>" size="40" readonly="readonly" />
    <br />
    <label for="Email">Email</label> 
    <input name="mail" type="text" id="mail" value= "<?php echo $row["mail"];?>" size="40" readonly="readonly"/>
    <br />    
    <label for="telefono">Telefono</label><input name="telefono" type="text" id="telefono" value= "<?php echo $row["telefono"];?>" size="40" readonly="readonly" />
    <br />    
    <label for="direccion">Dirección</label><input name="direccion" type="text" id="direccion" value= "<?php echo $row["direccion"];?>" size="40" readonly="readonly" />
    <br />
    
    
</fieldset>


// la lista donde quiero que me salgan los expedientes de ese usuario que ha logueado
<fieldset class="clase1"><legend>Trabajos en curso</legend>

<?php
$sql
="SELECT * FROM Expedientes WHERE dni='$dniUsuarioL'";
$link "<a href=\"cuenta2.php?expediente=%s\">%s<br></a>";
$result mysql_query($sql);
if(isset(
$result) && mysql_num_rows($result)>0)
{
while(
$fila=mysql_fetch_assoc($result))
{
echo 
sprintf$link$fila['expediente'], $fila['nombre'] );
echo 
"<br>";

}
}
?> 
</fieldset>
</form>
<?
//si hay resultados crea tabla
if ($row mysql_fetch_array($result)){ 
echo 
"<table border = '1'> \n";                                     
//Mostramos los nombres de las tablas 
mysql_field_seek($result,0); 
echo 
"<tr> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Fecha</b></td> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Nombre</b></td> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Ver</b></td> \n";

  
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Eliminar</b></td> \n";

echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Modificar</b></td> \n";
echo 
" </tr> \n"
echo 
"</tr> \n"

do { 
echo 
"<tr> \n"//para ver el cliente entero
?><form name="form1" method="post" action="datos_expedientes.php">
<?
echo "<td>"?>
  <textarea cols="22" rows="1" name="fecha" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["fecha"];?></textarea>
  </TD>

<? "</td> \n"

echo 
"<td>"?>
  <textarea cols="70" rows="1" name="nombre" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["nombre"];?></textarea>
<? "</td> \n"
?>

<?
echo "<td>"?>
<input type="submit" name="Submit" value="Ver detalles" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>
<? echo "<td>"?>
<form name="form" method="post" action="confirmacion_baja_exp.php">
 <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
 <input type="submit" name="Submit2" value="Eliminar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>                         
<? echo "<td>"?>
<form name="form" method="post" action="modificar_expediente.php">
 <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
 <input type="submit" name="Submit2" value="Modificar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form> 
<?     


 
"</td> \n"?>
<?
echo "</tr> \n"

} while (
$row mysql_fetch_array($result)); 


?> 
</table>
La rabia que me da esque en local si me va pero al subirlo al servidor web no va... Gracias y perdonad por el tocho
  #2 (permalink)  
Antiguo 07/05/2007, 13:36
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Sonrisa Re: Mostrar datos de base de datos

Creo que es que no has conectado a la base de datos con mysql_connect.
  #3 (permalink)  
Antiguo 07/05/2007, 13:46
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

si eso si pero no lo he puessto para ahorrar código y no poneros todo el tocho, el fallo esta en los echos o en que no relaciono bien el usuario que se conecta $_SESSION["usNick"]." con el campo login de clientes para que me muestre luego en trabajos en curso los expedientes relacionados con ese Cliente, gracias raulmmmm por tu atención
  #4 (permalink)  
Antiguo 07/05/2007, 13:52
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

¿Y el array $row[]?¿De dónde sale? Tienes el while debajo de los $row[]

Última edición por Raulmmmm; 07/05/2007 a las 13:57
  #5 (permalink)  
Antiguo 07/05/2007, 14:13
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

pues no se se supone que el $row [nomre] te muestra el contenido del nombre de esa columna pero no se por eso pregunto porque asi no va, del while que dices que lo ponga arriba de los $row? explicamelo referenciando el código que sino no te entiendo bien, gracias
  #6 (permalink)  
Antiguo 07/05/2007, 14:35
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Sí, pon el while encima de los row[], justo antes de que empiece el form. Te deseo suerte.
  #7 (permalink)  
Antiguo 07/05/2007, 14:48
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

si eso he hecho y ya muestra datos raulmmmm gracias por darme la pista, a ver si no tengo mas percances un saludo y muy amable
  #8 (permalink)  
Antiguo 07/05/2007, 14:52
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Pues es raro porque del primero formulario donde muestros los datos del cliente, solo me muestra el apellido 1 el 2 lo demas en blanco y si que tiene pero ademas el telefono no me lo muestra en blanco sino que me muestra un 0...que raro...
  #9 (permalink)  
Antiguo 07/05/2007, 14:57
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Pues eso ya no sé por qué te puede ocurrir. A mí no me había ocurrido nada parecido.
  #10 (permalink)  
Antiguo 07/05/2007, 16:06
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Bueno parece que ya me muestra lo que yo quiero en cuenta.php, pues bien ahora en cuenta2.php que ahora editare a la cual se accede pinchando sobre el expediente que antes no me salía, es donde me tiene que mostrar los archivos de ese expediente que es como esta relacionado en la base de datos antes posteada....pues bien no me lo muestra y no se porque...no se si es porque no me coge el dni del cliente en la consulta o que...os adjunto el código a ver si alguien ve porque puede ser...Gracias por la ayuda.

cuenta2.php
Código PHP:
<?php 
include("conectarse_bd.php"); 
include(
"login.php");
$dnicliente $row["dni"];
$sql="SELECT * FROM Expedientes WHERE dni='$dnicliente' AND Expedientes.expediente='%s'";
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );

if(
$loginCorrecto)  
{  
echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Usuario   ".$_SESSION['usNick']." ";

}  
else  
{  
//echo "Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones";  
$mostrar 'Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones';
//falla
header("Location: acceso.html");  
}  
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Nogues | Arquitecto</title> 

<script type="text/javascript" src="Funciones.js"></script>
<link rel="stylesheet" type="text/css" href="Estilo.css"/>


<style type="text/css">
<!--
.Estilo12 {color: #E0DFE3}
-->
</style>
</head>
<body>
<div id="Contenedor">
<div id="Capa_titulo_admin">
<div id="logo" onclick="location='index.html'" title="Inicio" ></div> 
</div>
<div id="Capa_admin">
  <p>
<p style='font-family: &quot;Century Gothic&quot;; font-size: 20px;color: #000000; font-weight: bold; margin-left:245px;'>
<?php
//seleccionar los expedientes con dni del usuario y expediente especifico que tendre que sacar mediante un formulario 
$link "Expediente nº %s %s<br>";
if(isset(
$result) && mysql_num_rows($result)>0)
{
    while(
$fila=mysql_fetch_assoc($result))
    {
        echo 
sprintf$link$fila['expediente'], $fila['nombre'] );
        echo 
"<br>";
    }
}
?>
</p>
  <fieldset class="clase1">
  <legend>FOTOS </legend>
  <?php
$sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='foto' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
$nregistros=mysql_num_rows($result);
if (
$nregistros!=0){
While (
$registro=mysql_fetch_row($result)){

echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
echo 
"<br>";
}
}else{
echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
}
?> 
       
</fieldset>


<fieldset class="clase1"><legend>TEXTOS </legend>

<?php
$sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='texto' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
$nregistros=mysql_num_rows($result);
if (
$nregistros!=0){
While (
$registro=mysql_fetch_row($result)){
echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
echo 
"<br>";
}
}else{
echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
}
?> 
</fieldset>
<span class="Estilo12"></span>
<fieldset class="clase1"><legend>PLANOS</legend>

<?php
$sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='plano' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
$nregistros=mysql_num_rows($result);
if (
$nregistros!=0){
While (
$registro=mysql_fetch_row($result)){
echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
echo 
"<br>";
}
}else{
echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
}
?>

Última edición por Javiglez; 07/05/2007 a las 16:32
  #11 (permalink)  
Antiguo 08/05/2007, 05:13
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

En el if del arriba del todo no tienes puesto }else{
  #12 (permalink)  
Antiguo 08/05/2007, 08:25
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Cierto es aunque no creo que me influya, yo creo que no me muestra los nombres de los archivos porque alomejor no me esta cogiendo el dni del usuario arriba del todo para las consultas ( $dnicliente = $row["dni"]; ) Que rabai fijo que es la típica tonteria pero no la veo...Gracias raulmmmm por tu atención
  #13 (permalink)  
Antiguo 08/05/2007, 10:25
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Claro es que ahora no tienes puesto el while. Vuélvelo a poner como antes(antes del row) o pasa el valor del dni por GET.
  #14 (permalink)  
Antiguo 08/05/2007, 13:05
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

te refieres a este if ? ----> if ($row = mysql_fetch_array($result)){
Lo he puesto y me casca todo...
  #15 (permalink)  
Antiguo 08/05/2007, 13:18
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

he probado tambien lo del get dni y nada joe que raro....a ver si me puedes responder a lo del while que tiene que ser eso.
  #16 (permalink)  
Antiguo 08/05/2007, 13:33
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Arriba del todo, pones $dnicliente = $row["dni"]; en la cuenta2.php. Esa es la variable que tienes que recibir con GET o poner el while que te dije antes.
  #17 (permalink)  
Antiguo 08/05/2007, 13:56
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Bien si lo de dnicliente lo tengo puesto pero lo del get es lo que no lo veo como tengo que ponerlo o lo del while
  #18 (permalink)  
Antiguo 08/05/2007, 14:46
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Pues nada que le he metido un do while pero nada, he restructurado el php entero para que que se vea más claro a ver si damos con ello, no he entendido lo del get del dni, se supon que con lo que tengo al principio del $dnicliente tendría que tirar a ver si alguien ve porque no muestra los registros de la base de datos... adjunto la clase estructurada

Código PHP:
<?php 
        
include("conectarse_bd.php"); 
        include(
"login.php");
        
$dnicliente $row["dni"];
        
$sql="SELECT * FROM Expedientes WHERE dni='$dnicliente' AND Expedientes.expediente='%s'";
        
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
        if(
$loginCorrecto)  
            {  
            echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Usuario   ".$_SESSION['usNick']." ";
        
            }  
        else  
            {  
                
$mostrar 'Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones';
                
header("Location: acceso.html");  
            }  
            

do{
//seleccionar los expedientes con dni del usuario y expediente especifico que tendre que sacar mediante un formulario 
$link "Expediente nº %s %s<br>";
if(isset(
$result) && mysql_num_rows($result)>0)
{
    while(
$fila=mysql_fetch_assoc($result))
    {
        echo 
sprintf$link$fila['expediente'], $fila['nombre'] );
        echo 
"<br>";
    }
}
?>
</p>
  <fieldset class="clase1">
  <legend>FOTOS </legend>
      <?php
    $sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='foto' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
    
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
    
$nregistros=mysql_num_rows($result);
    if (
$nregistros!=0){
    While (
$registro=mysql_fetch_row($result))
                        {
                        echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
                        echo 
"<br>";
                        }
                        }else{
                        echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
                        }
    
?> 
       
    </fieldset>


    <fieldset class="clase1"><legend>TEXTOS </legend>

    <?php
        $sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='texto' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
        
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
        
$nregistros=mysql_num_rows($result);
        if (
$nregistros!=0){
        While (
$registro=mysql_fetch_row($result)){
        echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
        echo 
"<br>";
        }
        }else{
        echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
        }
    
?> 
    </fieldset>
<span class="Estilo12"></span>
    <fieldset class="clase1"><legend>PLANOS</legend>

        <?php
            $sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='plano' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
            
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
            
$nregistros=mysql_num_rows($result);
            if (
$nregistros!=0){
                While (
$registro=mysql_fetch_row($result)){
                    echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
                    echo 
"<br>";
                    }
                    }else{
                            echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
                         }
        } while (
$row mysql_fetch_array($result)); 
        
?>

Última edición por Javiglez; 08/05/2007 a las 15:47
  #19 (permalink)  
Antiguo 09/05/2007, 02:55
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Sigo atascado con ello, en local si me funciona es subirlo al servidor y nada, las consultas están bien yo creo que es de que algún parámetro no lo esta recogiendo bien o algo y por eso no muestra los echos como este

Código PHP:

echo '<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>'
que no son más que al fin y al cabo nombres de registros de la base de datos convertidos en enlace para que cuando los pinches muestre el archivo...

A ver si algún guru de pHp me echa una mano, Gracias.
  #20 (permalink)  
Antiguo 09/05/2007, 05:13
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Pon otra vez el codigo de cuenta.php y de cuenta2.php para que te diga cómo se pasa por GET.
  #21 (permalink)  
Antiguo 09/05/2007, 11:08
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Asi da gusto Raulmmmm, gracias por tu paciencia para ayudarme a ver si damos rápido con ello,cuenta y cuenta2 son dos pantallas iguales solo que mostrando diferentes registros de una base de datos por eso no entiendo que muestre bien una o la otra mal, creo que las consultas estan bien que tiene que ser una tontería que me dejo. vamos a ver recapitulo.

cuenta.php
Código PHP:
<?php 
        
include("conectarse_bd.php"); 
        include(
"login.php"); 
        
$result mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");   
        if(
$loginCorrecto)  
        {  
            
$mostrar "Bienvenido !!!!";
            }  
            else  
            {    
            
$mostrar 'Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones';
            
//falla
            
header("Location: acceso.html");  
        } 
        if (
$row mysql_fetch_array($result)){      
?>

//------------------------

    <?php 
        
echo "<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Usuario   ".$_SESSION['usNick']." ";
    
?>
     <form id="form1" method="post" action="">
        <fieldset class="clase1"><legend>Datos Personales</legend>
        <label for="nombre">Nombre</label><input  name="nombre" type="text" id="nombre" value= "<?php echo $row["nombre"];?>" size="40" readonly="readonly"/>
        <br />
        <label for="apellidom">Apellido </label><input name="apellido1" type="text" id="apellido1" value= "<?php echo $row["apellido1"];?>" size="40" readonly="readonly"/>
        <br />
        <label for="apellidop">Apellido </label><input name="apellido2" type="text" id="apellido2" value= "<?php echo $row["apellido2"];?>" size="40" readonly="readonly" />
        <br />
        <label for="Email">Email</label> 
        <input name="mail" type="text" id="mail" value= "<?php echo $row["mail"];?>" size="40" readonly="readonly"/>
        <br />    
        <label for="telefono">Telefono</label><input name="telefono" type="text" id="telefono" value= "<?php echo $row["telefono"];?>" size="40" readonly="readonly" />
        <br />    
        <label for="direccion">Dirección</label><input name="direccion" type="text" id="direccion" value= "<?php echo $row["direccion"];?>" size="40" readonly="readonly" />
        <br />
    
    
    </fieldset>

    <fieldset class="clase1"><legend>Trabajos en curso</legend>

    <?php
    
        $re
$row["dni"];
            
$sql="SELECT * FROM Expedientes WHERE dni='$re'";
            
$result mysql_query($sql);
            if(isset(
$result) && mysql_num_rows($result)>0)
            {
                 while(
$fila=mysql_fetch_assoc($result))
                 {
                      
// echo $fila['nombre']."<br>";
                       
echo "<a href=\"../cuenta2.php\">".$fila['nombre']. "<br>""</a>";  
                       echo 
"<br>";
                 }
            }
    
?> 
    </fieldset>
    </form>
    <?
        
//si hay resultados crea tabla
        
if ($row mysql_fetch_array($result)){ 
        echo 
"<table border = '1'> \n";                                     
        
//Mostramos los nombres de las tablas 
        
mysql_field_seek($result,0); 
        echo 
"<tr> \n";
        echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Fecha</b></td> \n";
        echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Nombre</b></td> \n";
        echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Ver</b></td> \n";
        
          
        echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Eliminar</b></td> \n";
        
        echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Modificar</b></td> \n";
        echo 
" </tr> \n"
        echo 
"</tr> \n"
        
        do { 
        echo 
"<tr> \n"//para ver el cliente entero
    
?><form name="form1" method="post" action="datos_expedientes.php">
    <?
    
echo "<td>"?>
  <textarea cols="22" rows="1" name="fecha" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["fecha"];?></textarea>
  </TD>

    <? "</td> \n"

    echo 
"<td>"?>
      <textarea cols="70" rows="1" name="nombre" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["nombre"];?></textarea>
    <? "</td> \n"
    
?>

    <?
    
echo "<td>"?>
    <input type="submit" name="Submit" value="Ver detalles" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
    </form>
    <? echo "<td>"?>
    <form name="form" method="post" action="confirmacion_baja_exp.php">
     <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
     <input type="submit" name="Submit2" value="Eliminar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
    </form>                         
    <? echo "<td>"?>
        <form name="form" method="post" action="modificar_expediente.php">
         <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
         <input type="submit" name="Submit2" value="Modificar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
        </form> 
    <?     
     
"</td> \n"?>
    <?
        
echo "</tr> \n"
        
        } while (
$row mysql_fetch_array($result)); 
        } 
        }
//if
    
?>
y cuenta2.php

Código PHP:
<?php 
        
include("conectarse_bd.php"); 
        include(
"login.php");
        
$dnicliente $row["dni"];
        
$sql="SELECT * FROM Expedientes WHERE dni='$dnicliente' AND Expedientes.expediente='%s'";
        
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
        if(
$loginCorrecto)  
            {  
        
            }  
        else  
            {  
                
$mostrar 'Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones';
                
header("Location: acceso.html");  
            }  
            
?>
//----------------------------------------------------

<?php
        
echo "<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Usuario   ".$_SESSION['usNick']." ";

do{
//seleccionar los expedientes con dni del usuario y expediente especifico que tendre que sacar mediante un formulario 
$link "Expediente nº %s %s<br>";
if(isset(
$result) && mysql_num_rows($result)>0)
{
    while(
$fila=mysql_fetch_assoc($result))
    {
        echo 
sprintf$link$fila['expediente'], $fila['nombre'] );
        echo 
"<br>";
    }
}
?>
</p>
  <fieldset class="clase1">
  <legend>FOTOS </legend>
      <?php
    $sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='foto' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
    
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
    
$nregistros=mysql_num_rows($result);
    if (
$nregistros!=0){
    While (
$registro=mysql_fetch_row($result))
                        {
                        echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
                        echo 
"<br>";
                        }
                        }else{
                        echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
                        }
    
?> 
       
    </fieldset>


    <fieldset class="clase1"><legend>TEXTOS </legend>

    <?php
        $sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='texto' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
        
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
        
$nregistros=mysql_num_rows($result);
        if (
$nregistros!=0){
        While (
$registro=mysql_fetch_row($result)){
        echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
        echo 
"<br>";
        }
        }else{
        echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
        }
    
?> 
    </fieldset>
<span class="Estilo12"></span>
    <fieldset class="clase1"><legend>PLANOS</legend>

        <?php
            $sql
="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='$dnicliente' AND Documentos.tipo='plano' AND Documentos.expediente=Expedientes.expediente AND Expedientes.expediente='%s'" ;
            
$result mysql_query(sprintf$sqlmysql_real_escape_string$_GET['expediente'] ) ) );
            
$nregistros=mysql_num_rows($result);
            if (
$nregistros!=0){
                While (
$registro=mysql_fetch_row($result)){
                    echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>';
                    echo 
"<br>";
                    }
                    }else{
                            echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>";
                         }
        } while (
$row mysql_fetch_array($result)); 
        
?>      
    </fieldset>
Si necesitas algun php más me lo dices aunque creo que no hace falta y la estructura de la base de datos esta en el primer POST.
  #22 (permalink)  
Antiguo 09/05/2007, 13:58
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Pues en el cuenta.php pones esta variable de sesión:
<fieldset class="clase1"><legend>Trabajos en curso</legend>

<?php
$re= $row["dni"];
session_start();
session_register("dni");
$_SESSION['dni'] = $re;
?>
Y en el cuenta2.php

<?php
$dnicliente = $_SESSION['dni'];
?>
A ver si sale de una vez.
  #23 (permalink)  
Antiguo 09/05/2007, 14:24
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Nada no funciona, sigue entrandome en los 3 whiles que tengo para cada tipo de archivo por el else y me saca el mensaje de no hay archivos con este formato...
Código PHP:

While ($registro=mysql_fetch_row($result)) 
                        { 
                        echo 
'<a href="./UPLOAD/'.$registro[1].'" target="_blank">'.$registro[1]. '</a>'
                        echo 
"<br>"
                        } 
                        }else{ 
                        echo 
"<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #FF0000; font-weight: bold;' > No hay archivos con este formato </p>"
                        } 
Podría ser porque yo de cuenta a cuenta2 no le paso nada? es que de cuenta a cuenta 2 se pasa pinchando sobre este echo.

Código PHP:
<?php
    
        $re
$row["dni"];
        
session_start();
        
session_register("dni");
        
$_SESSION['dni'] = $re;

        
        
        
            
$sql="SELECT * FROM Expedientes WHERE dni='$re'";
            
$result mysql_query($sql);
            if(isset(
$result) && mysql_num_rows($result)>0)
            {
                 while(
$fila=mysql_fetch_assoc($result))
                 {
                      
// echo $fila['nombre']."<br>";
[B]                       echo "<a href=\"../cuenta2.php\">".$fila['nombre']. "<br>""</a>";  [/B]                       echo "<br>";
                 }
            }
    
?>
no se esque ya ando desesperado...
  #24 (permalink)  
Antiguo 09/05/2007, 16:19
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Borra isset($result) del if del 2º código php, porque te va a dar igual...
  #25 (permalink)  
Antiguo 10/05/2007, 05:03
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Vale raulmmm ahora no puedo cambiarlo que ando en el curro, esta tarde te comento a ver que he conseguido, gracias ;)
  #26 (permalink)  
Antiguo 10/05/2007, 11:25
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Raulmmm creo que he podido encontrar el fallo a ver que opinas....Me ha dado por mostrar en pantalla en cuenta2.php el dni haciendo un simple
Código PHP:
echo $row["dni"]; 
y no me muestra nada en cambio lo muestro en cuenta.php que es de la que viene cuenta2.php y si que me lo muestra perfectamente con lo cual ese es el problema que recojo mal el dni de la otra pantalla (cuenta.php), tengo que pasarselo a la otra pantalla (cuenta2.php) , osea que $dnicliente = $row["dni"]; que tengo al principio de cuenta2.php no contiene nada y por eso no encuentra nada, a ver si sabes como puedo recogerlo tu o alguien, tiene que ser con el get pero no se como exactamente

He probado a poner $dnicliente = $_GET['dni'] pero me da fallo:


Parse error: syntax error, unexpected T_VARIABLE in /web/sites/user/6/72/54406/public/www/cuenta2.php on line 5.

A ver si alguien sabe como puedo recogerlo o algo, gracias.



Gracias.
  #27 (permalink)  
Antiguo 10/05/2007, 13:59
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Prueba con:
echo $re
Que es donde tendría que estar el dni...
  #28 (permalink)  
Antiguo 10/05/2007, 14:29
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

Cita:
Iniciado por Raulmmmm Ver Mensaje
Prueba con:
echo $re
Que es donde tendría que estar el dni...
Nada, me lo muestra en cuenta.php pero en cuenta2.php nada no le llega y eso por eso...no funcionan las consultas...tengo que recogerlo de cuenta.php
  #29 (permalink)  
Antiguo 10/05/2007, 15:44
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Mostrar datos de base de datos

Cita:
Iniciado por Raulmmmm Ver Mensaje
Pues en el cuenta.php pones esta variable de sesión:
<fieldset class="clase1"><legend>Trabajos en curso</legend>

<?php
$re= $row["dni"];
session_start();
session_register("dni");
$_SESSION['dni'] = $re;
?>
Y en el cuenta2.php

<?php
$dnicliente = $_SESSION['dni'];
?>
A ver si sale de una vez.
Pon bien los códigos, el primero en cuenta.php y el segundo en cuenta2.php.
Entonces tendría que ser echo $dnicliente...
  #30 (permalink)  
Antiguo 10/05/2007, 15:57
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Mostrar datos de base de datos

pero ese código lo pongo a parte de lo que tengo? esque me da problema de sesiones porque en cuenta.php ya inicio sesión, la del usuario y cuando probe me dio muchos errores..
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 07:59.