Aquí tenemos otra forma de realizar una consulta cruzada con dos tablas distintas.
En esta ocasión con dos While.
<?php
require 'Conections/conection.php';
$db = mysqli_connect($db_host,$db_user,$db_pass,$db_name);
if (!$db){ die ("Es imposible conectar con la bbdd ".$db_name."</br>".mysqli_connect_error());
}
global $db;
global $t1;
$vname1 = "status";
$vname1 = "`".$vname1."`";
$consulta1 = "SELECT * FROM $vname1 WHERE `hidden` = 'no' ORDER BY `year` DESC ";
$qc1 = mysqli_query($db, $consulta1);
$qc1n = mysqli_num_rows($qc1);
miércoles, 27 de marzo de 2019
PHP Sql consulta cruzada. SELECT INNER JOIN WHERE
Hola a todos.
Vamos a ver como relacionar dos tablas y realizar una consulta en la tabla1 en base a los valores de la tabla2.
Recogiendo los datos de la consulta dentro de un while.
A por ello.
$sqli = "SELECT * FROM `tabla1` INNER JOIN `tabla2`
ON `tabla1`.`year` = `tabla2`.`year`
WHERE
`tabla2`.`hidden` = 'no' AND
`tabla1`.`year` LIKE '%$dyt1%' AND `tabla1`.`mes` $sent ORDER BY `tabla1`.$orden ";
$qbi = mysqli_query($db, $sqli);
Vamos a ver como relacionar dos tablas y realizar una consulta en la tabla1 en base a los valores de la tabla2.
Recogiendo los datos de la consulta dentro de un while.
A por ello.
$sqli = "SELECT * FROM `tabla1` INNER JOIN `tabla2`
ON `tabla1`.`year` = `tabla2`.`year`
WHERE
`tabla2`.`hidden` = 'no' AND
`tabla1`.`year` LIKE '%$dyt1%' AND `tabla1`.`mes` $sent ORDER BY `tabla1`.$orden ";
$qbi = mysqli_query($db, $sqli);
viernes, 22 de marzo de 2019
Php Select con consulta bbdd y While
Select con consulta a bbdd & While.
Muy facilito, observar como la etiqueta del option se cierra después del if dentro del while, dentro del segundo print. esta es la clave:
<?php
print("<select name='dy'>
<option value=''>YEAR</option>");
global $db;
global $t1;
$t1 = $_SESSION['ref'];
$t1 = strtolower($t1);
$t1 = $t1."_status";
$t1 = "`".$t1."`";
$sqlb = "SELECT * FROM $t1 ORDER BY `year` DESC ";
$qb = mysqli_query($db, $sqlb);
if(!$qb){print("* ".mysqli_error($db)."<br/>");
} else {
while($rows = mysqli_fetch_assoc($qb)){
print ("<option value='".$rows['ycod']."' ");
if($rows['ycod'] == $defaults['dy']){
print ("selected = 'selected'");
}
print ("> ".$rows['year']." </option>");
}
}
?>
$defaults[''] viene dado por el condicinal y el input del formulario:
if($_POST['todo']){
$defaults = $_POST;
} else {
$defaults = array ('year' => '',
'ycod' => '',
'stat' => '',
'hidden' => '',
'Orden' => $ordenar,
);
Muy facilito, observar como la etiqueta del option se cierra después del if dentro del while, dentro del segundo print. esta es la clave:
<?php
print("<select name='dy'>
<option value=''>YEAR</option>");
global $db;
global $t1;
$t1 = $_SESSION['ref'];
$t1 = strtolower($t1);
$t1 = $t1."_status";
$t1 = "`".$t1."`";
$sqlb = "SELECT * FROM $t1 ORDER BY `year` DESC ";
$qb = mysqli_query($db, $sqlb);
if(!$qb){print("* ".mysqli_error($db)."<br/>");
} else {
while($rows = mysqli_fetch_assoc($qb)){
print ("<option value='".$rows['ycod']."' ");
if($rows['ycod'] == $defaults['dy']){
print ("selected = 'selected'");
}
print ("> ".$rows['year']." </option>");
}
}
?>
$defaults[''] viene dado por el condicinal y el input del formulario:
if($_POST['todo']){
$defaults = $_POST;
} else {
$defaults = array ('year' => '',
'ycod' => '',
'stat' => '',
'hidden' => '',
'Orden' => $ordenar,
);
Suscribirse a:
Entradas (Atom)