Como consultar datos de dos tablas en mysql?
Publicado por fanny (10 intervenciones) el 10/11/2016 05:44:49
Tengo una tabla en mysql llamada "regis" con los siguientes campos (id,cliente ,Nombre, Direccion, Telefono, Id_trabajo, Cantidad, Fecha_ingreso, Anticipo), en mi campo (Id_trabajo) va el value de mi option selected,ya que coloque un campo con varias opciones y les coloque (1,2,3,etc)dependiendo cual escogan.
Tengo otra tabla llamada (trabajos) con los campos (id, codigo, nombre,costo)que muestro en mi pagina,que funciona como una lista de precios,el usuario puede modificar los costos,eliminar u agregar un nuevo producto
Ahora lo que quiero hacer, es que al buscar un determinado cliente por nombre,me aparezca la siguiente información desplegada,
(Nombre, Direccion, telefono, fecha de ingreso, Nombre del trabajo,Costo, Cantidad, Total,Anticipo,Resta), pero mis campos de Costo, Total y Resta,dependen de campos de mi tabla regis y mi tabla trabajos.
Por ejemplo si en la tabla (regis) el campo Id_trabajo=1 , y en mi tabla (trabajos) el campo id=1 , le corresponde un nombre de trabajo y un costo
Hice la siguiente consulta y me arroja esto

pero como se puede ver, esa consulta me muestra todos los campos de las dos tablas, dependiendo el id, pero no quiero que me salgan los campos: "id_trabajo" y "codigo" de la tabla trabajos, ya que con el Id_trabajo basta para que no aparezca dos veces,como le puedo hacer? o que me sugieren?
y ya que muestro esos datos, como los guardo en una tabla? porque lo que hago solamente me muestra la info, pero quiero guardarla, para posteriormente editarla por si el cliente hace un nuevo anticipo y que se actualize en la BD,
ademas de que me hace falta sacar el "Total" del trabajo y el "Resta
Ojala me puedan orientar gracias
1
2
3
4
5
6
7
8
9
10
<div class="col-md-5">
<select class="form-control" name="txt2">
<option selected value="0"> Elige una opcion </option>
<optgroup label="Porcelana">
<option value="1">Corona metal porcelana</option>
<option value="2">Corona veneer</option>
<option value="3">Corona meriland</option>
<option value="4">Montado de porcelana</option>
</optgroup>
Tengo otra tabla llamada (trabajos) con los campos (id, codigo, nombre,costo)que muestro en mi pagina,que funciona como una lista de precios,el usuario puede modificar los costos,eliminar u agregar un nuevo producto
Ahora lo que quiero hacer, es que al buscar un determinado cliente por nombre,me aparezca la siguiente información desplegada,
(Nombre, Direccion, telefono, fecha de ingreso, Nombre del trabajo,Costo, Cantidad, Total,Anticipo,Resta), pero mis campos de Costo, Total y Resta,dependen de campos de mi tabla regis y mi tabla trabajos.
Por ejemplo si en la tabla (regis) el campo Id_trabajo=1 , y en mi tabla (trabajos) el campo id=1 , le corresponde un nombre de trabajo y un costo
Hice la siguiente consulta y me arroja esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<? include("config.php");
//Instaciamos la clase de base de datos
$db = new Clasedb();
//Llamamos a la funcion para conectar a la base de datos
$db->MySQL();
//Consultamos la tabla regis
$consulta = $db->consulta("SELECT * FROM regis AS R JOIN trabajos AS T ON R.id_trabajo = T.id WHERE R.Nombre LIKE '%$buscar%'");
?>
<form class="form-horizontal" name="form1" method="post" action="consultar.php">
<br>
<br>
<br>
<br>
<br>
<fieldset class="scheduler-border">
<legend class="scheduler-border">CONSULTA DE REGISTROS</legend>
<div class="form-group">
<div class="col-md-5">
<input class="form-control" type="text" name="buscar" placeholder="nombre del cliente">
</div>
</div>
<button class="btn btn-primary">BUSCAR</button>
</fieldset>
<?php
if($_POST['buscar'])
{
?>
<br>
<div class="table-responsive">
<div class="container" id="container1" style="padding-top: 1em;">
<table class="table table-hover table-condensed">
<thead>
<tr>
<th class="col-sm-1">Nombre</th>
<th class="col-sm-1">Direcc</th>
<th class="col-sm-1">Tel</th>
<th class="col-sm-1">Id_trabajo</th>
<th class="col-sm-1">Cantidad</th>
<th class="col-sm-1">Fecha de ingreso</th>
<th class="col-sm-1">Id_trabajo</th>
<th class="col-sm-1">Codigo</th>
<th class="col-sm-1">Nombre</th>
<th class="col-sm-1">Costo</th>
<th class="col-sm-1">Editar</th>
<th class="col-sm-1">Eliminar</th>
</tr>
</thead>
<?php
while($resultado = $db->obtenerfilas($consulta))
{?>
<tr>
<td class="Nombre"><?=$resultado['Nombre']?></td>
<td class="Direccion"><?=$resultado['Direccion']?></td>
<td class="Telefonos"><?=$resultado['Telefono']?></td>
<td class="Fecha_ingreso"><?=$resultado['Id_trabajo']?></td>
<td class="Tipo_trabajo"><?=$resultado['Cantidad']?></td>
<td class="Costo_uni"><?=$resultado['Fecha_ingreso']?></td>
<td class="Cantidad"><?=$resultado['id']?></td>
<td clas="Total"><?=$resultado['codigo']?></td>
<td class="Anticipo"><?=$resultado['nombre']?></td>
<td clas="Resta"><?=$resultado['costo']?></td>
<td class="Editar"><button type="button" class="btn btn-info" data-toggle="modal" data-target="#dataUpdate" data-id="<?php echo $row['id']?>"><i class='glyphicon glyphicon-edit'></i></button></td>
<td class="Eliminar"><button type="button" class="btn btn-danger" data-toggle="modal" data-target="#dataDelete" data-id="<?php echo $row['id']?>"><i class='glyphicon glyphicon-trash'></i></button></td>
</tr>
<? } ?> <!--Cierra el while-->
</table>
</div> <!--Cierra el container-->
</div>
<br>
<?php
}echo "";
?>
</form>
</div>
pero como se puede ver, esa consulta me muestra todos los campos de las dos tablas, dependiendo el id, pero no quiero que me salgan los campos: "id_trabajo" y "codigo" de la tabla trabajos, ya que con el Id_trabajo basta para que no aparezca dos veces,como le puedo hacer? o que me sugieren?
y ya que muestro esos datos, como los guardo en una tabla? porque lo que hago solamente me muestra la info, pero quiero guardarla, para posteriormente editarla por si el cliente hace un nuevo anticipo y que se actualize en la BD,
ademas de que me hace falta sacar el "Total" del trabajo y el "Resta
Ojala me puedan orientar gracias
Valora esta pregunta


0