Select in doua tabele din baza de date

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
mluci
Mesaje: 27

Select in doua tabele din baza de date

Salut Marplo.Am o baza de date cu 2 tabele.Unul contine id-ul utilizatorului, usernamul si parola, iar al doilea tabel contine id-ul utilizatorului si un nr de servicii.
Am incercat sa fac select-ul id-ului din primul tabel al utilizatorului si sa selectez numarul de servicii din al doilea tabel, dar nu functioneaza.

Cod: Selectaţi tot

<?php
$user=$_SESSION['username'];
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql2 = "SELECT memberID FROM members where username = $user";
$result = $conn->query($sql2);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
       $member2ID=$row["memberID"];
    }
} else {
    echo "0 results";
}
$conn->close();

$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT nr FROM servicii where idu = $member2ID";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
       $numar=$row["nr"];
    }
} else {
    echo "0 results";
}
$conn->close();
?>

MarPlo
Salut
Uite aici un tutorial despre Select in doua tabele mysql: https://marplo.net/php-mysql/select- ... mysql.html
Ai putea face select-ul asa:

Cod: Selectaţi tot

$sql ="SELECT * FROM servicii WHERE idu=(SELECT memberID FROM members WHERE username = '$user' LIMIT 1)"; 
Sau cu INNER JOIN (tutorial: https://marplo.net/php-mysql/mysql-i ... -join.html ):

Cod: Selectaţi tot

$sql ="SELECT t1.memberID, t2.nr FROM members AS t1 INNER JOIN servicii AS t2 ON t1.memberID = t2.idu WHERE t1.username ='$user'"; 
- Cand se lucreaza cu $_SESSION, se pune la inceput: session_start();.

mluci
Mersi mult!Functioneaza perferct.Esti un geniu!

Subiecte similare