[MySQL] Privebericht naar alle leden sturen

Pagina: 1
Acties:

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
Ik kan mysql.com absoluut niet bereiken, dus daarom open ik hier een topic.

Ik heb twee tables: leden en priveberichten
In leden staat de informatie van de leden en in priveberichten de pb's die verzonden zijn tussen de leden.

Nu wil ik een optie maken die een pb verstuurd naar alle leden. Opzich is dit simpel op te lossen door bijvoorbeeld het volgende te gebruiken.
PHP:
1
2
3
4
5
6
<?
$query= mysql_query("SELECT id FROM leden");
while (list = mysql_fetch_object($query)){
   mysql_query("INSERT INTO priveberichten (van, aan, bericht, titel, datum) VALUES ('1', '".$list->id."', 'blaat', 'blaat', 'blaat' )");
}
?>

Het nadeel hiervan is dat er voor elk lid een query uitgevoerd wordt, daarom zoek ik naar een manier om dit in één query te verwerken.

Is dit mogelijk in MySQL?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19:24
Dit kun je steeds herahlen: ('1', '".$list->id."', 'blaat', 'blaat', 'blaat' ) dan kun je meerdere rijen invoegen.

  • Tha_Butcha
  • Registratie: November 2000
  • Laatst online: 15-04 11:50
mijn SQL kennis is niet je van het, maar lijkt mij dat je dit beter in je application layer kan oplossen.

een For loop die gewoon door al je leden loopt en die elke lid een bericht stuurt.

Compromises are for the weak


  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
Tha_Butcha schreef op 20 april 2004 @ 21:08:
mijn SQL kennis is niet je van het, maar lijkt mij dat je dit beter in je application layer kan oplossen.

een For loop die gewoon door al je leden loopt en die elke lid een bericht stuurt.
Die oplossing stelde ik zelf al voor, alleen dan geen For loop maar een While... :)

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19:24
Tha_Butcha schreef op 20 april 2004 @ 21:08:
mijn SQL kennis is niet je van het, maar lijkt mij dat je dit beter in je application layer kan oplossen.
een For loop die gewoon door al je leden loopt en die elke lid een bericht stuurt.
Waarom? Wat is het voordeel ten opzichte van de TS behalve dat je een extra counter variable bijhoudt die je helemaal niet nodig hebt?

  • Cartman!
  • Registratie: April 2000
  • Niet online
probeer www.mysql.org eens....

Verwijderd

Dit kan toch met de volgende eenvoudige insert
SQL:
1
2
3
INSERT INTO priveberichten (van, aan, bericht, titel, datum) 
SELECT '1', id, 'blaat', 'blaat', 'blaat'
FROM leden

Nog een beetje verpakken in PHP code en dan moet het werken.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Waarom zou je dat bericht meerdere malen opslaan?

Het lijkt mij beter om dit bij het uitlezen op te lossen.

Who is John Galt?


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19:24
justmental schreef op 20 april 2004 @ 22:23:
Waarom zou je dat bericht meerdere malen opslaan?
Het lijkt mij beter om dit bij het uitlezen op te lossen.
Vaak handig als je ook gegevens op wilt slaan over het bericht zoals de datum wanneer het gelezen is. Eventuele reacties er op enzovoorts.

  • jj85
  • Registratie: Januari 2002
  • Laatst online: 21:48
Verwijderd schreef op 20 april 2004 @ 21:51:
Dit kan toch met de volgende eenvoudige insert
SQL:
1
2
3
INSERT INTO priveberichten (van, aan, bericht, titel, datum) 
SELECT '1', id, 'blaat', 'blaat', 'blaat'
FROM leden

Nog een beetje verpakken in PHP code en dan moet het werken.
Thnx, deze werkt!
Pagina: 1