2 mysql bestanden vergelijken.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Berta Pappens

Berta Pappens

10/12/2021 17:49:07
Quote Anchor link
Ik heb 2 mysql bestanden "bekeken" en "users"
Ik wil het bestand "bekeken" aflopen en kijken of de user nog aanwezig is in bestand "user"
indien niet aanwezig in "user" delete in "bekeken"

Wat is er mis aan mijn code want ik krijg steeds dat alles gevonden is, maar dat is niet juist

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

$host
= "localhost";  /// use default
$username = "root"; /// write your mysql username
$password = ""; /// write your mysql password
$database = "test"; /// write your mysql database

$con=mysqli_connect($host, $username, $password,$database) or die (mysqli_error());
  $con->set_charset("utf8");



$sql = "SELECT * FROM bekeken";
$result = mysqli_query($con,$sql);

$look = "SELECT * FROM users";
$kijken = mysqli_query($con,$look);


while($rijdb1 = mysqli_fetch_array($result)) //start while loop db1
        {
              $weg = $rijdb1['User'];

            $rijdb2 = mysqli_fetch_array($kijken); // db2
            
                if($rijdb2['username'] = $weg )
                {

                    
                    echo $weg . "   " ;
                    echo $rijdb2['username'] ."  gevonden in database" ."<br>";
                    
                }

                else
{
                    echo $weg . "   " ;
                    echo $rijdb2['username'] ."  niet gevonden in database gewist in bekeken." ."<br>";
                    $del = mysqli_query($con,"delete from bekeken where User = '$weg'"); // delete query
}
                
            }
    
?>
Gewijzigd op 10/12/2021 17:50:29 door Berta Pappens
 
PHP hulp

PHP hulp

22/12/2024 02:04:10
 
Jan R

Jan R

10/12/2021 18:36:50
Quote Anchor link
Bedoel je niet tabellen?
Je kan gewoon een query aanmaken die de records zoekt welke geen link hebbeb
select
*
from
tabel1 t1
left JOIN
tabel2 t2
on t1.linkkolom = t2.linkkolom
where
t2.linkkolom is null
 
- Ariën  -
Beheerder

- Ariën -

10/12/2021 18:56:10
Quote Anchor link
Lijn 26 is nu een toekening met = i.p.v. een vergelijking met == .

Maar een LEFT JOIN is veel efficiënter.
 
Berta Pappens

Berta Pappens

10/12/2021 21:17:15
Quote Anchor link
als ik op lijn 26 == gebruik wordt alles gewist in "bekeken".


Toevoeging op 10/12/2021 21:24:26:

met een query zijn de records ook niet gewist in de tabel.

Hoop dat jullie mij kunnen helpen via mijn code AUB.
 
- Ariën  -
Beheerder

- Ariën -

10/12/2021 21:33:16
Quote Anchor link
Heb je die query van Jan al geprobeerd?
Even droog uitproberen in phpMyAdmin lijkt me makkelijk.

Dan zie je meteen het resultaat als je jouw tabellen met elkaar koppelt. Dan hoef je niet meer met while() loops te klooien. Het probleem is overigens dat je geen while loop in je wile loop gebruikt. Maar dat is zeer inefficiënt en zorgt voor een onnodige opeenstapeling van queries.

Een JOIN is echt het zinvolste in deze oplossing.
Gewijzigd op 10/12/2021 21:47:37 door - Ariën -
 
Berta Pappens

Berta Pappens

10/12/2021 22:01:46
Quote Anchor link
Bedankt voor de moeite , maar ik kom er uit

Heb het gevonden .
Gewijzigd op 10/12/2021 22:44:21 door Berta Pappens
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.