Ver Mensaje Individual
  #18 (permalink)  
Antiguo 10/07/2007, 09:10
EviLRasec
 
Fecha de Ingreso: octubre-2005
Ubicación: Puno - Perú
Mensajes: 4
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: problemas con traspaso de variables 2

hola amigo natashca:
si tienes instalado el MySQL 5.0 seria mejor, porque ahi puedes hacer vistas, MySQL BROWSER es un programa el cual te permite crear vistas.
bueno voy a ponerte un ejemplo de como hacer lo que pides, ya de ahi tu te guias.

Estructura tabla MySQL.

tabla testado:
cod_est des_est
-------------------
A ACTIVO
I INACTIVO

-- sql testado --
create table testado (cod_est char(1) not null primary key, des_est varchar(8) not null);

-- llenar datos tabla testado --
insert into testado values ('A','ACTIVO');
insert into testado values ('I','INACTIVO');

tabla tusuario:
id nom_usu eda_usu cod_est
--------------------------------------------
1 EviLRasec 20 A
2 natashca 23 A
3 Efrain 29 I

-- sql tusuario --
create table tusuario (id int not null primary key auto_increment, nom_usu varchar(20) not null, eda_usu int(2) null, cod_est char(1) not null);

-- llenar datos tabla tusuario --
insert into tusuario values (null, 'EviLRasec',20,'A');
insert into tusuario values (null, 'natashca',23,'A');
insert into tusuario values (null, 'Efrain',29,'I');

Hasta aqui ya tenemos nuestra dos tablas, "testado" que hace referencia al estado de nuestros usuarios y "tusario" donde se encuentra los datos de nuestros usuarios y el estado.
Vamos a crear nuestra vista "vusuarios" esto se puede apartir del mysql 5.0

-- sql vista vusarios --
create view vusuarios as
select tusuario.id, tusuario.nom_usu, tusuario.eda_usu,
testado.des_est from tusuario left join testado on
tusuario.cod_est = testado.cod_est;

listo ya tendremos creado nuestra vista y esta lo trateremos como cualquiera otra tabla pero solo para consultas (select)

veamos un ejemplos

select * from vusuarios;
id nom_usu eda_usu des_est
--------------------------------------------------
1 EviLRasec 20 ACTIVO
2 natashca 23 ACTIVO
3 Efrain 29 INACTIVO

y nos saldra asi, interesante eso era lo que queriamos :)
sigamos ahora vayamos con PHP.
Voy ha hacer un ejemplo sencillo espero se entienda.

-- archivo lis_usu.php --
<?
// incluimos el archivo funciones.php que se encuentra en la carpeta php
include ("./php/funciones.php");
// creamos una variable de conexion
$nC = conectar();
// hacemos una consulta a la tabla tusuario
$usu = mysql_query("select id, nom_usu from tusuario",$nC) or die (mysql_error());
// creamos una tabla con borde
echo "<table border='1'>";
echo "<tr>";
echo "<td>Nombre Usuario<td>";
echo "</tr>";
// con el bucle while sacamos todos los registros y lo mostramos
while($u = mysql_fetch_row($usu)) {
echo "<tr>";
echo "<td><a href='lis_ch_usu.php?id='$u[0]'>$u[1]<td>";
echo "</tr>";
}
echo "</table>"
?>

-- archivo lis_ch_usu.php --
<?
// incluimos el archivo funciones que esta en la carpeta php
include ("./php/funciones.php");
// hacemos la conexion a la base de datos
$nC = conectar();
// recogemos del url
$id = $_GET["id"];
// hacemos una consulta a la vista vusuarios
$usuario = mysql_query("select nom_usu,eda_usu,des_est from vusuarios where id ='$id' ",$nC) or die (mysql_error());
while ($usu = mysql_fetch_row($usuario)) {
nombre = $usu[0];
edad = $usu[1];
estado = $usu[2];
}
echo "<table border='1'>";
echo "<tr>";
echo "<td>C&oacute;digo</td>";
echo "<td>$id</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Nombre</td>";
echo "<td>$nombre</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Edad</td>";
echo "<td>$edad</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Estado</td>";
echo "<td>$estado</td>";
echo "</tr>";
echo "</table>";
?>

-- se encuentra de la carpeta php --
-- archivo funciones.php --
<?php
function conectar() {
//hacemos a la al MySQL
$nConnect = mysql_connect("localhost","rasec","12345") or die ("Conexión fallida\n".mysql_error());
//Selección de la base de datos
$sql_select_db("foro",$nConnect) or die ("La base de datos no existe\n".mysql_error());
return $nConnect;
}

a me olvidaba si quieres ordenar alfabeticamente debes agregar al sql este parametro.

select id,nom_usu,eda_usu,cod_est from tusuario order by nom_usu asc;
select id,nom_usu,eda_usu,des_est from vusuarios order by nom_usu asc;

de esa forma estaras ordenando alfabeticamente de A.. a Z

Bueno amigo espero te sirva este ejemplo, quise hacerlo lo mas practico posible, los codigos funcionan, solo adaptalo para tu script y veras que funciona .

Última edición por EviLRasec; 10/07/2007 a las 09:24 Razón: :p