opbouw sql query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Berta Pappens

Berta Pappens

19/01/2023 13:35:30
Quote Anchor link
Hallo,

Ik zit met een probleem ik zou in een tabel een query willen loslaten , die de p_id (4)(Aalst) update van P_id(10)in de E_id

De tabel bevat meerdere records met een ander id natuurlijk.

Dit is hoe het nu is :

id P_id d_id E_id
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2

En het zou dit moeten worden :

id P_id d_id E_id
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2 Aalst

Kan iemand helpen AUB

Dank bij voorbaat
 
PHP hulp

PHP hulp

21/11/2024 16:48:51
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 13:37:34
Quote Anchor link
Hoe ziet je query er nu uit?
 
Berta Pappens

Berta Pappens

19/01/2023 13:41:11
Quote Anchor link
Ik heb momenteel nog geen.
Ik zou deze query enkel eens gebruiken op het veld E_id op te vullen met de value(d_id)vanP_id(10)
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 13:51:31
Quote Anchor link
Het enige wat ik in je voorbeeld van je records zie, is het ontbreken van de woonplaats Aalst in record 9844.
Die kan je dan gewoon toevoegen? of zie ik dat verkeerd?

Misschien moet je wat meer context geven over je opzet, en een sample van je datastructuur en wat dummy data erbij.
 
Berta Pappens

Berta Pappens

19/01/2023 14:04:24
Quote Anchor link
Aalst zou op de plaats E_id moeten komen waar P_id gelijk is aan 10
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 14:32:19
Quote Anchor link
Laat je structuur eens zien in een dump, samen wat wat dummydata. Dan wordt het wat duidelijker.
Gewijzigd op 19/01/2023 14:32:37 door - Ariën -
 
Berta Pappens

Berta Pappens

19/01/2023 14:33:54
Quote Anchor link
hoe kan ik hier een dump doen ???

** privacy-knip en tevens overbodig veel data**
Gewijzigd op 19/01/2023 15:18:03 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 15:17:03
Quote Anchor link
Gewoon vanuit phpMyAdmin of welke cliënt je maar gebruikt een structuur dump maken met een kleine verzameling dummy-data. (denk aan de privacy)
Aan hele output van ruim honderden adressen hebben we niks, en daar willen we niks mee.
Gewijzigd op 19/01/2023 15:17:30 door - Ariën -
 
Berta Pappens

Berta Pappens

19/01/2023 15:37:42
Quote Anchor link
Alvast bedankt, maar als ik een dump(knip) maak kan ik deze hier niet ingeven omdat het een tekening is
Met [img][/img] weet ik geen raad .
Gewijzigd op 19/01/2023 15:45:21 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 15:46:50
Quote Anchor link
Je moet ook geen image gebruiken. Ik vraag je om een structuur dump, en een dummy-data (+/- 10 items is voldoende) dump. Die kan je met je databaseprogramma zo genereren. Infeite is het een query die gewoon een CREATE TABLE en een INSERT uitvoert.
Gewijzigd op 19/01/2023 15:56:48 door - Ariën -
 
Berta Pappens

Berta Pappens

19/01/2023 16:03:13
Quote Anchor link
Alvast bedankt maar we verstaan elkaar niet

4 velden in DB met verschillende gelijke id's

id P_id d_id E_id
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2

Wat wil ik juist.

De d_id value van p_id=4 moet op de E_id van P-id=10 komen
DUS
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2 Aalst

inderdaad er moet een update gebeuren van E_id waar d_id=10
 
Adoptive Solution

Adoptive Solution

19/01/2023 16:22:39
Quote Anchor link
p_id=4 moet op de E_id van P-id=10

Wat is het nou ? p_id of P-id?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
update TABELNAAM set E_id = ( select d_id from TABELNAAM where p_id = 4 ) where p_id = 10;
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 17:01:39
Quote Anchor link
Ik vind dit vrij warrig worden met onduidelijke cryptische veldnamen, maar ik wil er best even mee experimenteren.

Maar dan heb ik toch echt een dumpje nodig met een CREATE TABLE en een INSERT INTO met wat fictieve data.

Misschien zouden duidelijke veldnamen ook helpen.
Gewijzigd op 19/01/2023 17:02:35 door - Ariën -
 
Berta Pappens

Berta Pappens

19/01/2023 17:09:04
Quote Anchor link
Ik kreeg op uw query een foutmelding.
Heb nu een klein progje geschreven die de query vervangt.
Alvast bedankt voor de vele moeite.

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
<?php
$result
= mysqli_query($con,"SELECT * FROM tabelnaam WHERE P_id = 4 " );
        
        
        while ($row = mysqli_fetch_array($result))
        {

          $ingave = $row["value"];
          $id = $row["id"];
          

$sql = "UPDATE tabelnaam SET E_id = '$ingave' WHERE P_id = 10 and id =$id";


if ($con->query($sql) === TRUE) {
  echo "Record updated successfully";
}
else {
  echo "Error updating record: " . $conn->error;
}
}

?>
Gewijzigd op 19/01/2023 17:10:36 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 17:11:34
Quote Anchor link
Ik heb nooit ene hele query gegeven. maar ik ben blij dat het gelukt is.
Ik raad je wel aan om fatsoenlijke benaming te gebruiken.
 
Berta Pappens

Berta Pappens

19/01/2023 17:22:06
Quote Anchor link
Heb nog een vraagje die jij zeker weet
Progje zoals hierboven blijft even hangen als de E_id een naam is met een ' in zoals 's-Hertogenbosch

Wat kan ik aanpassen in mijn progje?
 
- Ariën  -
Beheerder

- Ariën -

19/01/2023 17:24:43
Quote Anchor link
Je zult mysqli_real_escape_string() op de juiste manier in je query moeten gebruiken.
In dit geval op $ingave en $id.

Je moet altijd je invoer escapen voor de veiligheid. Nu laat je jouw query onbedoeld over een ' struikelen. Maar met SQL-injection kan tevens elke gebruiker je query manipuleren met gevolgen van dien.
Gewijzigd op 19/01/2023 17:26:07 door - Ariën -
 



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.