Я создал следующий код, сначала извлекаю из таблицы "tournament" идентификацию соревнования основываясь на коде, попавшем в формуляр заблаговременно. После, во второй консультации я стремлюсь к тому, чтобы извлечь из таблицы entries имя и фамилии участника и таблицы qualifications я извлекаю зарю (QuTarget). Чтобы извлекать эти данные я основываюсь на том, что оба подмостков имеют одну саму, пойдите на каждого участника, в случае первой таблицы (entries) в поле его зовут Энид и в случае второго (qualifications) его называются Табак для жевания, проблема состоит в том, что я только хочу извлечь данные, которые считают идентификацией соревнования $localid, извлеченный ранее. Эта пойдите только эта в таблице entries. В конце концов, что я делаю, состоит в том, чтобы посылать эти данные в базу данных Веба. Я это протестировал, но он дает мне ошибку. Большое спасибо и приветствие.
$codigo = $_GET['s_competition_code'];
$conn = mysqli_connect("localhost", "ianseo", "ianseo", "ianseo");
$sql1 = mysqli_query($conn,"SELECT * FROM tournament WHERE ToCode= '$codigo'") or die ("Error: $sql1");
$mostrar = mysqli_fetch_all($sql1,MYSQLI_ASSOC);
foreach($mostrar as $campo=>$t);
$localid = $t['ToId'];
$sql2 = mysqli_query($conn,"SELECT * FROM entries JOIN qualifications USING(QuId) WHERE EnTournament=$localid") or die ("Error: $sql2");
$mostrar2 = mysqli_fetch_all($sql2,MYSQLI_ASSOC);
foreach($mostrar2 as $campo=>$s);
$conn1 = mysqli_connect("server", "user", "pass", "db");
if (!$conn1) {
die("Connection failed: " . mysqli_connect_error());
}
echo "funciona";
mysqli_query($conn1,"DELETE FROM `asirio_Resultados`.`clasificacion` WHERE `clasificacion`.`code` = '$codigo'");
foreach($mostrar2 as $campo=>$r)
mysqli_query($conn1,"
INSERT INTO clasificacion (ID, code, Nombre, Apellidos, DianaN)
VALUES ('".$r['EnId']."', '".$codigo."', '".$r['EnName']."', '".$r['EnFirstName']."', '".$r['QuTarget']."')");
echo "<br>";
echo '<span style="color:blue; font-size:12px;">Clasificación - </span>';
echo '<span style="font-size:12px;">actualizada correctamente </span>';
````
Мне кажется понимать, что ты хочешь что-то asГ-:
SELECT * FROM tabla2 WHERE id_usuario IN (
SELECT id_usuario FROM tabla1 WHERE id_grupo=43
);
Для такого dataset как этот:
CREATE TABLE tabla1(
id_grupo int,
id_usuario int,
nombre varchar(15),
apellidos varchar(31)
);
CREATE TABLE tabla2(
id_usuario int,
horario varchar(15),
info varchar(31)
);
INSERT INTO tabla1 (id_grupo, id_usuario, nombre, apellidos) VALUES
(1,1,'Pedro','Delgado'),
(43,2,'Miguel','Induráin'),
(43,3,'Ramiro','Alonso'),
(2,4,'Jose','Méndez');
INSERT INTO tabla2 (id_usuario, horario, info) VALUES
(1,'Matutino','Pedro Delgado'),
(2,'Vespertino','Miguelón'),
(3,'Nocturno','Ramiro'),
(4,'Nocturno','Méndez');
, От которого ты ждешь результат asГ-:
2 Vespertino Miguelón 3 Nocturno Ramiro
Пожалуйста, confГ-rmame, если он asГ - и indГ-came quГ© сомнения ты появляются, чтобы подробно описывать то, в чем ты нуждаешься консультации.
Она soluciГіn, который он выдвигает @RubГ©nEspada с одним JOIN
, также vГЎlida:
SELECT * FROM (
SELECT * FROM tabla1 WHERE id_grupo=43
) c1 JOIN tabla2 USING(id_usuario);
AsГ - как:
SELECT * FROM tabla1 JOIN tabla2 USING(id_usuario)
WHERE id_grupo=43;
Преимущество этих Гєltimas состоит в том, что они показывают informaciГіn обоих подмостков:
2 43 Miguel Induráin Vespertino Miguelón 3 43 Ramiro Alonso Nocturno Ramiro