Meerdere SELECT in een AS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

H. Fokker

H. Fokker

11/09/2006 17:59:00
Quote Anchor link
Beste mensen,
Wat zie ik hier over het hoofd? Ik wil uit mijn db twee E-mailadressen per gebruiker selecteren voor een mailinglist en doe dat zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$sql
= "SELECT email, email2 AS mailing FROM users";
$res = mysql_query($sql);
                
while ($row = mysql_fetch_array($res))
{

$email = "".$row['mailing']."";
?>


Ik krijg alleen berichten op de adressen van veld email2 ...?

?>
 
PHP hulp

PHP hulp

18/11/2024 03:52:20
 
Frank -

Frank -

11/09/2006 18:05:00
Quote Anchor link
Heb je in de tabel 'users' 2 velden met emailadressen staan? Zo ja, dan heb je niet volledig genormaliseerd, maar daar kun je voor kiezen.

Wil jij beide adressen als 1 resultaat terugkrijgen, dan heb je een CONCAT nodig om beide gegevens aan elkaar te plakken. Doe je dat niet, dan krijg je in 1 row, 2 indexen retour:
$row['email'] en $row['mailing']

Offtopic: Die overbodige "" voor en achter een variabele zijn natuurlijk niet nodig. Net zo min als die extra variabele $email. Dit zorgt alleen maar voor extra geheugengebruik.
 
H. Fokker

H. Fokker

11/09/2006 18:12:00
Quote Anchor link
Bedankt, Frank. Inderdaad heb ik twee velden met emailadressen. Ik begrijp niet wat je met normaliseren bedoelt en de functie CONCAT ken ik niet. Hoe zou de opdracht bij SELECT eruit moeten komen te zien? Zoiets?

SELECT CONCAT(email," ",email2) AS mailing
FROM users;
 
Frank -

Frank -

11/09/2006 18:20:00
Quote Anchor link
Quote:
Zoiets?

SELECT CONCAT(email," ",email2) AS mailing
FROM users;
Probeer het eens, een database bijt niet...

Normaliseren is een hulpmiddel om de database te ontwerpen, zie http://nl.wikipedia.org/wiki/Databasenormalisatie Zonder normalisatie krijg je zelden een goed model.

In jouw geval is het misschien handig om de emailadressen in een aparte tabel te zetten, dan kan iemand een onbeperkt aantal emailadressen opgeven. De tabellen 'users' en 'emailadressen' worden met een koppeltabel aan elkaar geknoopt:
users:
id
naam

emailadressen:
id
email

koppeltabel:
id
id_users (foreign key)
id_emailadressen (foreign key)

De rest mag je zelf gaan uitvogelen.
 
H. Fokker

H. Fokker

11/09/2006 18:30:00
Quote Anchor link
Prima, Frank. Altijd interessant om weer een stapje verder te gaan. en leuk om zo weer iets nieuws te horen. Ik ga hier wat dingen uitproberen! Groet, Hans.
 



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.