Probleem met een kollom te verwijderen uit te database.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Jitse t

jitse t

07/05/2016 14:17:40
Quote Anchor link
Hoi,

Ik ben bezig met een sociaal netwerk site.
En ik heb een probleem.
De bedoeling is dat als je een vriendschapsverzoek stuurt uit het tabel "vriendschapsverzoeken" Het verzoek verwijderd wordt.
Het probleem is als je op verwijderen klikt verwijdert hij alle verzoeken van die gebruiker.
Wat ik eigenlijk wil is dat alleen de kollom wordt verwijderd die geaccepteert is.

Hier is de code:

$sqlvr = "SELECT * FROM vriendschaps_verzoeken WHERE aan='".$_SESSION['gebruikersnaam']."'";
$queryvr = mysqli_query($conn,$sqlvr);

$vriendout = mysqli_fetch_assoc($queryvr);

while($vriendout = mysqli_fetch_assoc($queryvr)){

if(mysqli_num_rows($queryvr) == 0){

echo 'Je hebt geen vriendschapsverzoeken!';

}else {

if(isset($_POST['accepteren'])){

$waar = $vriendout['id'];

$gebruikersnaam2 = $_SESSION['gebruikersnaam'];

$updatesql = "UPDATE vrienden SET status='1' WHERE gebruikersnaam1='".$_SESSION['gebruikersnaam']."'";
$querysql = mysqli_query($conn,$updatesql);

$delsql = "DELETE FROM vriendschaps_verzoeken WHERE id='".$vriendout['id']."'";
$delquery = mysqli_query($conn,$delsql);

}

echo htmlspecialchars($vriendout['van'] ) ." ". $vriendout['datum'] . " <form method='post'><input type='submit' name='accepteren' value='Accepteren!'> <input type='submit' name='verwijderen' value='verwijderen'> </form> ";

}

}

}
Gewijzigd op 07/05/2016 14:18:26 door Jitse t
 
PHP hulp

PHP hulp

04/12/2024 10:20:37
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/05/2016 15:14:47
Quote Anchor link
Klinkt allemaal niet zo erg consistent.

Heeft je user tabel geen kolom id of user_id?
En Hetzelfde geldt eigenlijk voor de tabel vrienden en vriendschaps_verzoeken. In deze tabel zouden ook userID's moeten staan. en wanneer noodzakelijk een eigen uniek id veld.

Wil je hierin verder geholpen worden dan zou ik even alle tabellen met al hun kolommen vermelden zodat we kunnen zien hoe een en ander werkt.

Dan zou ik het zo gaan regelen dat je altijd over het id van een gebruiker/vriend(schapsverzoek) beschikt en dan krijg je dus iets als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE vrienden SET status='1' WHERE user_id=123


Een alternatieve oplossing voor je huidige systeem zou kunnen zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE vrienden SET status='1' WHERE gebruikersnaam1="Piet" AND gebruikersnaam2="Henk"

Maar erg professioneel is het niet.




Toevoeging op 07/05/2016 15:25:19:

Een goede database indeling zou kunnen zijn:

tabel users:
-user_id [integer, primary, autoincrement]
-naam [varchar]
-email [varchar]
-created (dit is de datum en tijd van aanmelding) [datetime]
-wachtwoord [varchar]
...

tabel vrienden:
-user1_id [integer, indexed]
-user2_id [integer, indexed]
-created (dit is de datum en tijd dat ze vrienden geworden zijn)

tabel vriendschapsverzoeken:
-user1_id [integer, indexed]
-user2_id [integer, indexed]
-created (dit is de datum en tijd van het verzoek) [datetime]


voorbeeld-data:

users:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
id naam ...
1  Frank
2  Henk
3  Piet


vrienden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
user1_id user2_id created
1          2      2016-05-07 15:30:00
1          3      2016-05-07 15:40:00


vriendschapsverzoeken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
user1_id user2_id created
2          3      2016-05-07 15:20:00
 
Jitse t

jitse t

07/05/2016 15:42:07
Quote Anchor link
Frank Nietbelangrijk op 07/05/2016 15:14:47:
Klinkt allemaal niet zo erg consistent.

Heeft je user tabel geen kolom id of user_id?
En Hetzelfde geldt eigenlijk voor de tabel vrienden en vriendschaps_verzoeken. In deze tabel zouden ook userID's moeten staan. en wanneer noodzakelijk een eigen uniek id veld.

Wil je hierin verder geholpen worden dan zou ik even alle tabellen met al hun kolommen vermelden zodat we kunnen zien hoe een en ander werkt.

Dan zou ik het zo gaan regelen dat je altijd over het id van een gebruiker/vriend(schapsverzoek) beschikt en dan krijg je dus iets als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE vrienden SET status='1' WHERE user_id=123


Een alternatieve oplossing voor je huidige systeem zou kunnen zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE vrienden SET status='1' WHERE gebruikersnaam1="Piet" AND gebruikersnaam2="Henk"

Maar erg professioneel is het niet.




Toevoeging op 07/05/2016 15:25:19:

Een goede database indeling zou kunnen zijn:

tabel users:
-user_id [integer, primary, autoincrement]
-naam [varchar]
-email [varchar]
-created (dit is de datum en tijd van aanmelding) [datetime]
-wachtwoord [varchar]
...

tabel vrienden:
-user1_id [integer, indexed]
-user2_id [integer, indexed]
-created (dit is de datum en tijd dat ze vrienden geworden zijn)

tabel vriendschapsverzoeken:
-user1_id [integer, indexed]
-user2_id [integer, indexed]
-created (dit is de datum en tijd van het verzoek) [datetime]


voorbeeld-data:

users:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
id naam ...
1  Frank
2  Henk
3  Piet


vrienden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
user1_id user2_id created
1          2      2016-05-07 15:30:00
1          3      2016-05-07 15:40:00


vriendschapsverzoeken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
user1_id user2_id created
2          3      2016-05-07 15:20:00


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
tabel: vrienden    
id,gebruikersnaam1,gebruikersnaam2,tijd,status
1 ,  jitse        , assistent      ,   ,  1
2 ,  jitse        , test           ,   ,  1

tabel: vriendschapsverzoeken
id,aan  ,  van   ,   datum,gelezen
1 , jitse , assistent , '' , 0
1 , jitse , test , '' , 0
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/05/2016 15:49:02
Quote Anchor link
Waarom mijn hele lap tekst quoten? Zou je dat niet beter even weghalen voor de leesbaarheid?

Ik begrijp dat dat je indeling is?
Het advies is dus om die gebruikersnamen te veranderen voor gebruikers-id's.

Want wat als iemand een gebruikersnaam wil aan passen? ga je dan al die tabellen updaten?
En wat als er twee users zijn met dezelfde naam?
 
Jitse t

jitse t

07/05/2016 15:53:55
Quote Anchor link
Frank Nietbelangrijk op 07/05/2016 15:49:02:
Waarom mijn hele lap tekst quoten? Zou je dat niet beter even weghalen voor de leesbaarheid?

Ik begrijp dat dat je indeling is?
Het advies is dus om die gebruikersnamen te veranderen voor gebruikers-id's.

Want wat als iemand een gebruikersnaam wil aan passen? ga je dan al die tabellen updaten?
En wat als er twee users zijn met dezelfde naam?


Twee dezelfde gebruikersnamen gaat niet bij mij.
Maar van die ids zal ik wel toepassen danku voor de tip!
 



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.