[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.046
150
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.046
150
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.046
150
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.046
150
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.046
150
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.046
150
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
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

Discussioni simili