[PHP] merge di 2 tabelle e insert su terza tabella

pabbelus

Nuovo Utente
25 Apr 2017
15
1
3
Ciao a tutti

Ho un problemino, ho le 2 seguenti tabelle

¦---bb_tickets---¦
¦ id ¦ owner ¦
¦-------------------¦
¦ 111 ¦ 2 ¦
¦ 145 ¦ 2 ¦
¦ 152 ¦ 3 ¦
¦-------------------¦


¦---bb_users-----¦
¦ id ¦ user ¦
¦-------------------¦
¦ 1 ¦ Admin ¦
¦ 2 ¦ PG ¦
¦ 3 ¦ FS ¦
¦-------------------¦


devo esportare le tabelle ottenendo quanto segue:


¦----Result----¦
¦ id ¦ user ¦
¦-----------------¦
¦ 111 ¦ PG ¦
¦ 145 ¦ PG ¦
¦-----------------¦



Come posso realizzare tutto ciò? Devo utilizzare la funzione JOIN? e in che modo?
Grazie in anticipo
PG
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova così
PHP:
//dati di connessione
$utente="PG";
$query="SELECT  owner.t as ow, user.u as us FROM bb_tickets as t, bb_users as u WHERE owner.t= id.u AND user.u='$utente'";
$result=mysqli_query($conn, $query);
while($riga=mysqli_fetch_assoc($result)){
    $id=$riga['ow'];
    $user=$riga['us'];
    //e qui fai quello che devi fare con le due variabili
}
 

pabbelus

Nuovo Utente
25 Apr 2017
15
1
3
Ciao, purtroppo non mi dà alcun risultato in uscita, ma:

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, string given in
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
metti un var_dump
PHP:
//dati di connessione
$utente="PG";
$query="SELECT  owner.t as ow, user.u as us FROM bb_tickets as t, bb_users as u WHERE owner.t= id.u AND user.u='$utente'";
$result=mysqli_query($conn, $query);
var_dump($result);//poi lo togli
while($riga=mysqli_fetch_assoc($result)){
    $id=$riga['ow'];
    $user=$riga['us'];
    //e qui fai quello che devi fare con le due variabili
}
se il var_dump ti da FALSE vuol dire che ho fatto probabilmente un errore nella querystringa, per prima cosa verifica l'esatta corrispondenza tra i nomi nella query e quelli che hai nella tabelle
 

pabbelus

Nuovo Utente
25 Apr 2017
15
1
3
bool(false)
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in

corrispondenza ok :-(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa, ma probabilmente dormivo (non avevo ancora preso il caffe) e ho invertito tutto:(
correggi
PHP:
$query="SELECT  owner.t as ow, user.u as us FROM bb_tickets as t, bb_users as u WHERE owner.t= id.u AND user.u='$utente'";
in
PHP:
$query="SELECT  t.owner as ow, u.user as us FROM bb_tickets as t, bb_users as u WHERE t.ownwr= u.id AND u.user='$utente'";
lascia il var_dump e verifica e sappimi dire

dimenticavo:
dai anche un occhio a https://www.mrw.it/mysql/join_6812.html
 

pabbelus

Nuovo Utente
25 Apr 2017
15
1
3
il file php:

PHP:
<?php

$host = "localhost";
$username = "root";
$password = "--------";
$dbname = "bb";

$conn =  new mysqli($host, $username, $password, $dbname) ;

$utente="PG";
$query="SELECT  t.owner as ow, u.user as us FROM bb_tickets as t, bb_users as u WHERE t.ownwr= u.id AND u.user='$utente'";
$result=mysqli_query($conn, $query);
//var_dump($result);//poi lo togli
while($riga=mysqli_fetch_assoc($result)){
    $id=$riga['ow'];
    $user=$riga['us'];
    //e qui fai quello che devi fare con le due variabili
}

?>

midà come risultato:

HTML:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\xxxxx on line 19
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa rimetti il var_dump, anzi aggiungine un altro per vedere se la querystringa viene scritta come deve essere
poi prova la query senza gli alias
PHP:
//...
$query="SELECT  bb_tickets.owner, bb_users.user FROM bb_tickets, bb_users WHERE bb_tickets.ownwr= bb_users.id AND bb_users.user='$utente'";
var_dump($query);//poi lo togli
$result=mysqli_query($conn, $query);
var_dump($result);//poi lo togli
while($riga=mysqli_fetch_assoc($result)){
    $id=$riga['bb_tickets.owner'];
    $user=$riga['bb_users.user'];
    //e qui fai quello che devi fare con le due variabili
}
se il secondo var_dump da ancora false il problema è o nella $conn e in $query

dimenticavo:
se non funziona ancora proviamo con due query senza join per capire dove è l'inghippo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
oho oho mi sono accorto adesso, tu fai la connessione ad oggetti io sto usando il metodo procedurale
al posto di
$conn = new mysqli($host, $username, $password, $dbname) ;
metti
$conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
oppure trasforma in oggetti le varie chiamate al db
 

pabbelus

Nuovo Utente
25 Apr 2017
15
1
3
allora, ora ho il secondo bool false, e:

HTML:
Notice: Undefined variable: utente in C:\xampp\htdocs\hesk\tickets\test4.php on line 15
string(122) "SELECT bb_tickets.owner, bb_users.user FROM bb_tickets, bb_users WHERE bb_tickets.ownwr= bb_users.id AND bb_users.user=''" bool(false) 
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\hesk\tickets\test4.php on line 19
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ho fatto le prove e questo funziona
controlla di aver scritto bene i nomi delle variabili, dei campi e delle tabelle e bisogna mettere l'alias ai nomi dei campi
PHP:
<?php
$host = 'localhost';
$username = 'root';
$password = 'password';
$db = 'prove';
$conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
//prova per vedere le tabelle
$query="SELECT * FROM bb_tickets";
$ris=mysqli_query($conn,$query);
while($riga=mysqli_fetch_assoc($ris)){
    $id=$riga['id'];
    $owner=$riga['owner'];
    echo "$id - $owner<br>";
}
$query="SELECT * FROM bb_users";
$ris=mysqli_query($conn,$query);
while($riga=mysqli_fetch_assoc($ris)){
    $id=$riga['id'];
    $user=$riga['user'];
    echo "$id - $user<br>";
}
/*output
111 - 2
145 - 2
152 - 3
1 - Admin
2 - PG
3 - PG
*/
$utente="PG";
//verificato: BISOGNA usare gli alias per i nomi dei campi
$query="SELECT  bb_tickets.id as idu, bb_users.user as us FROM bb_tickets, bb_users WHERE bb_tickets.owner= bb_users.id AND bb_users.user='$utente'";
$ris_r=mysqli_query($conn,$query);
//var_dump($ris);// OK
while($riga=mysqli_fetch_assoc($ris_r)){
    $id=$riga['idu'];
    $user=$riga['us'];
    echo "$id - $user<br>";
}
/*output
111 - PG
145 - PG
152 - PG
*/
?>
tra l'altro il tuo var_dump ti restituisce ....bb_users.user='' dove è andato a finire il valore di $utente?
 

pabbelus

Nuovo Utente
25 Apr 2017
15
1
3
ok, secondo me va, io nel frattempo sono riuscito a creare questa query:

PHP:
SELECT bb_tickets.id, bb_users.user FROM bb_tickets, bb_users WHERE bb_users.id = '3';

e il risultato:

id user
111 FS
145 FS
152 FS

ora devo copiare i valori dentro result e dovrei essere a posto

ti faccio sapere e ti ringrazio tantissimo per l'aiuto

GRAZIE

Pablo
 
Discussioni simili
Autore Titolo Forum Risposte Data
neo996sps [PHP + MySQL] Merge di due tabelle Mysql differenti e non relazionate PHP 6
G [PHP] Merge array PHP 4
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili