Page 1 of 1
Select from two tables in mysql
Posted: 11 Jan 2017, 15:31
by JanMolendijk
I looking for a example how to select data from two data-bases
i have a table group with: group_id, club_id & member_id
i have a table user with: user_id user_firstname, user_lastname
I wanna have the member_id from the group & user_id from user selected in html php mysqli code
This follow example is wrong + have errors
Code: Select all
<?php
$connection_mysql = mysqli_connect("","u790012824_ubudu","","u790012824_egehy");
if (mysqli_connect_errno($connection_mysql)){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "SELECT mem_id FROM group;SELECT user_id FROM user";
if (mysqli_multi_query($connection_mysql,$sql)){
do{
if ($result=mysqli_store_result($connection_mysql)){
while ($row=mysqli_fetch_row($result)){
printf("%s '. $row['user_firstname']. ' \n",$row[0])";
}
mysqli_free_result($connection_mysql);
}
}while (mysqli_next_result($connection_mysql));
}
mysqli_close($connection_mysql);
?>
Select from two tables in mysql
Posted: 11 Jan 2017, 15:56
by Admin
Hello
Try these sql queries:
Code: Select all
SELECT member_id, user_id, user_firstname, user_lastname FROM group, user WHERE member_id = user_id
or:
Code: Select all
SELECT t1.user_id, t1.user_firstname, t1.user_lastname, t2.member_id FROM user AS t1 LEFT JOIN group AS t2 ON t2.member_id = t1.user_id
If it not works as you wish, see the tutorials from these pages:
https://coursesweb.net/php-mysql/mysql-i ... ght-join_t
https://coursesweb.net/php-mysql/select- ... l-tables_t
Select from two tables in mysql
Posted: 11 Jan 2017, 17:01
by JanMolendijk
i getting 0 results as result please could you give full example
Code: Select all
<?php
// connect to the "tests" database
$conn = new mysqli('', 'u790012824_ubudu', '', 'u790012824_egehy');
// check connection
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
// SELECT sql query
$sql = "SELECT t1.user_id, t1.user_firstname, t1.user_lastname, t2.member_id FROM user AS t1 LEFT JOIN group AS t2 ON t2.member_id = t1.user_id";
// perform the query and store the result
$result = $conn->query($sql);
// if the $result contains at least one row
if ($result->num_rows > 0) {
// output data of each row from $result
while($row = $result->fetch_assoc()) {
echo '<br /> '. $row['user_firstname']. ' '. $row['user_lastname']. ' ' ;
}
}
else {
echo '0 results';
}
$conn->close();
?>
Select from two tables in mysql
Posted: 11 Jan 2017, 17:28
by Admin
Test the sql queries in phpmyadmin, and try to make changes to see what results return.
I can try to help you if you post the structure (some rows) of those tables, and you tell what results you want to get.
Select from two tables in mysql
Posted: 11 Jan 2017, 17:58
by JanMolendijk
i turnt into my script what still is not working the member_id to mem_id
group
Code: Select all
Type Collatie Attributen Leeg
1 group_id int(11) Nee Geen
2 club_id int(11) Nee Geen
3 mem_id int(11) Nee Geen
user
Code: Select all
Type Collatie Attributen Leeg Standaardwaarde Extra Actie
1 user_id int(11) Nee 0
2 user_email varchar(255) utf8_general_ci Nee Geen
3 user_password varchar(255) utf8_general_ci Nee Geen
4 user_firstname text utf8_general_ci Nee Geen
5 user_lastname text utf8_general_ci Nee Geen
I wanna have result from the group mem_id orderd by club_id into a table with the user user_firstname user_lastname
i just need one good example
Select from two tables in mysql
Posted: 12 Jan 2017, 08:06
by Admin
Try this code:
Code: Select all
$sql ="SELECT t1.mem_id, t2.user_id, t2.user_firstname, t2.user_lastname FROM `group` AS t1 LEFT JOIN user AS t2 ON t1.mem_id = t2.user_id ORDER BY t1.club_id";
$result = $conn->query($sql) or trigger_error('SQL Error: '. $conn->error);
// if the $result contains at least one row
if($result && $result->num_rows >0){
// output data of each row from $result
while($row = $result->fetch_assoc()) {
echo '<br/>'. $row['user_firstname']. ' '. $row['user_lastname'];
}
}
else {
echo '0 results';
}
- The "group" is a reserved word for mysql syntax, it is indicated to Not use it in table or column names; better change it with other name, or you have to use it allways in mysql query between `...`.
Select from two tables in mysql
Posted: 12 Jan 2017, 11:40
by JanMolendijk
I tried this morning a view thinks & had result just before your posting
Great support Admin thanks i`m view day`s buissy to find out how tables are working
I used this code for my succes its only without the ORDER BY t1.club_id
Code: Select all
<?php
// connect to the "tests" database
$conn = new mysqli('', 'u790012824_ubudu', '', 'u790012824_egehy');
// check connection
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
// SELECT sql query
$sql = "SELECT A.`user_firstname` , A.`user_lastname` , B.`mem_id`
FROM `user`AS A
INNER JOIN `group` AS B
ON B.`mem_id` = A.`user_id` ";
// perform the query and store the result
$result = $conn->query($sql);
// if the $result contains at least one row
if ($result->num_rows > 0) {
// output data of each row from $result
while($row = $result->fetch_assoc()) {
echo '<br /> '. $row['user_firstname']. ' ' ;
}
}
else {
echo '0 results';
}
$conn->close();
?>