If statement in while sql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ben Pastoor

Ben Pastoor

29/05/2020 13:58:58
Quote Anchor link
Hoi hoi,


Ik zit met een questie waar ik niet goed uitkom en dat heeft te maken met de resultaten die ik krijg vanuit mijn query.

Ik wil graag een vaste array hebben wat ik kan sturen naar de client en met javascript/jquery kan behandelen.

De array wat ik wil hebben is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

$result
= array( 'id' => '1', 'name' => 'bram', 'place', 'Amsterdam');
?>


In de loop word de volgende dan id 2 enz.

De name en de place staan in de kolom info

Maar de info kolom bevat niet altijd de waarde place.

Nu wil ik een if statement maken stel dat deze niet bestaat en iets ander mee kan doen als dit het geval is.

Hoe kan ik dit het beste doen in de while?

Ik heb al geprobeerd
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
If($row['info'] !== 'place'){}
?>
 
PHP hulp

PHP hulp

15/07/2020 02:52:14
 
Thomas van den Heuvel

Thomas van den Heuvel

29/05/2020 14:26:14
Quote Anchor link
Ben Pastoor op 29/05/2020 13:58:58:
De name en de place staan in de kolom info

Dit volg ik niet helemaal, hoe staat al deze info opgeslagen in de database, en hoe haal je deze op?
Het beste lijkt mij om verschillende kolommen aan te maken/te gebruiken voor de verschillende stukken informatie, of mogelijk zelfs aparte tabellen met relaties.

Mocht je een tabelkolom in je database hebben waarbij je allerlei informatie op een hoop gegooid hebt, weet niet of dat de handigste manier is om gestructureerd informatie op te slaan, hier zijn per slot van rekening databases voor bedoeld.

Op het moment dat je moeite moet doen om de juiste informatie op een makkelijke manier uit je database te peuteren dan is het ontwerp niet geschikt voor het gebruik.
 
Ivo P

Ivo P

29/05/2020 15:07:03
Quote Anchor link
Het is wel te doen in een query, maar met Thomas ben ik het eens, dat dat vaak niet gemakkelijkste manier van werken is.
Helaas doen systemen als WordPress dat vaak wel in het kader van "zo zit het in elk geval in de database, zonder dat wel losse tabellen moeten maken / aanpassen"

Geef eens een voorbeeld hoe je data echt in de tabel staat
 
Ben Pastoor

Ben Pastoor

29/05/2020 20:06:50
Quote Anchor link
Bedankt voornde reacties.

Ik maak inderdaad gebruik van een bestaand systeem.

idpidkeyvalue
11placeamsterdam
21age32
31namebram
42namelieske
52age29


Zoals je ziet heeft pid 2 geen place key.

Dan wil ik in de array als die dus niet bestaat een - teken bijvoorbeeld.

Dus simpel gezegt als de key niet in het resultaat zit vul array item met....
 
Rob Doemaarwat

Rob Doemaarwat

29/05/2020 20:17:21
Quote Anchor link
Je zou iets kunnen doen als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$row += [ //defaults
  'place' => '-',
  //enz
];

Voor de keys die niet in de $row zitten wordt nu de waarde uit de "defaults" genomen. zit de key er wel in, dan blijft de waarde gewoon behouden.
 
Ivo P

Ivo P

29/05/2020 23:12:07
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
    A.pid AS id,
    A.value AS naam,
    B.value AS place
FROM tabelnaam A
LEFT JOIN tabelnaam B ON B.pid = A.pid AND B.key = 'place'
WHERE A.key = 'name'


Dit zou NULL moeten opleveren voor place als die niet bestaat. Maar je kolom is er dan wel
mocht place meermaals voorkomen,dan krijg je ook meerdere records terug trouwens!
 



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.