Hoe maak ik hier een uitvoerbare regel van:
DELETE FROM banner WHERE autodel(in tabel banner_instellingen) = '1'AND banner_tot(in tabel banner) <= '0'
Oftuwel, in tabel banner moet de regel worden verwijderd, waar banner_tot een waarde van 0 of lager heeft, en er moet in de tabel banner_instellingen, bij autodel de waarde 1 staan.
- Sql een normale regel van maken
-
02-03-2009, 14:32 #1
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Sql een normale regel van maken
-
02-03-2009, 14:38 #2
- Berichten
- 121
- Lid sinds
- 16 Jaar
Misschien twee select statements maken voor de twee voorwaarden.
Dan met de functie mysql_num_rows() in een if-statement de DELETE-opdracht uitvoeren
-
02-03-2009, 14:38 #3
- Berichten
- 330
- Lid sinds
- 17 Jaar
Origineel gepost door PascalB.
Misschien twee select statements maken voor de twee voorwaarden.
Dan met de functie mysql_num_rows() in een if-statement de DELETE-opdracht uitvoeren
-
02-03-2009, 14:40 #4
- Berichten
- 121
- Lid sinds
- 16 Jaar
Afhankelijk van je SQL-skills natuurlijk
-
02-03-2009, 14:40 #5
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Maar, ik heb daar niet veel verstand van.
Kun je het voordoen?
Anders moet ik even een altanatief bedenken.
-
02-03-2009, 14:49 #6
- Berichten
- 121
- Lid sinds
- 16 Jaar
Effe zo uit m'n hoofd (kan het helaas nu neit testen):
$result1 = mysql_query("SELECT bannerId FROM banner_instelling WHERE autodel = 1 AND bannerId=".$JouBanner.")";
$result2 = mysql_query("SELECT bannerId FROM banner WHERE banner_tot = <=0 AND bannerId=".$JouBanner.")";
if ( mysql_num_rows($result1) == 1 && mysql_num_rows($result2) == 1 )
{
// DELETE QUERY
// ongeveer: DELETE FROM banner WHERE BannerId = $JouBanner
}
-
02-03-2009, 15:04 #7
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
banner id hoeft niet volgens mij.
Hij moet ze allemaal checken, of ze daaraan voldoen, en diegene verwijderen.
Maar bedankt alvast voor de hulp iedereen
-
02-03-2009, 15:26 #8
- Berichten
- 121
- Lid sinds
- 16 Jaar
Oh. ik dacht dat het over 1 banner ging. Indien meerdere kun je dat stuk SQL weglaten :)
-
02-03-2009, 18:13 #9
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Moet ik dat SELECT bannerId ook weglaten?
-
02-03-2009, 21:43 #10
- Berichten
- 121
- Lid sinds
- 16 Jaar
Nee. Je moet wel iets selecteren wat aan de criteria voldoet. Dit moet dus 1 van de kolommen van de tabel zijn. Ik ga ervan uit dat je een BannerId hebt, dus heb ik die als voorbeeld toegevoegd.
-
02-03-2009, 21:47 #11
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Ok, en dan bij dit stukje:
{
DELETE QUERY FROM banner
}
Zoiets?
-
02-03-2009, 22:25 #12
- Berichten
- 1.346
- Lid sinds
- 18 Jaar
Waarom zorg je er niet voor dat het veld autodel niet in de tabel banner staat, Lijkt me makkelijker.
-
03-03-2009, 17:50 #13
- Berichten
- 1.907
- Lid sinds
- 16 Jaar
Omdat die heel veel rijen heeft.
En het over alles moet gaan, dus niet over elke banner appart wel of niet.
Dus is netter alle instellingen in 1 tabel los.
-
03-03-2009, 22:49 #14
- Berichten
- 1.346
- Lid sinds
- 18 Jaar
Ik denk dat je dan iets als dit nodig hebt.
PHP Code:<?php
//Haal de instelling autodel op.
$deletebanner = "SELECT autodel FROM banner_instellingen";
$deletebannerq = mysql_query($deletebanner) or die(mysql_error());
$deleterow = mysql_fetch_assoc($deletebannerq);
if ($deleterow['autodel'] == 1)
{
$deletesql = "DELETE FROM banner WHERE banner_tot = 0"; // Wel deleten
}
else
{
// Niet deleten
}
// Einde deleten
?>
-
03-03-2009, 23:59 #15
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Daarmee gebruik je 2 sql querys waardoor je 2x de database raadpleegt. Niet echt het snelste.
Het kan ook in 1x:
Code:Delete from banner inner join banner_instellingen on banner.RELATIE = banner_instellingen.RELATIE where banner.banner_tot <= 0 and banner_instellingen.autodel = 1;
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic