Niet verwijderen, status factuur = .....

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

API Developer Red Hat Fuse

Dit ga je doen Als API Developer zal je verantwoordelijk zijn voor het: het maken van API's en het correct laten draaien van de API's op het platform. Hierdoor kom je in aanraking met Red Hat Fuse, Springt Boot, 3Scale, Red Hat SSO, Openshift en Azure DevOps; zorgen voor de kwaliteit van de ontwikkeling, integratie en prestaties van de API's; zorgen voor een stabiel integratieplatform. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap dat hoofdzakelijk op OpenShift, Azure en

Bekijk vacature »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »
Guido Piket

Guido Piket

31/10/2007 22:56:00
Quote Anchor link
Ik heb een pagina gemaakt waar projecten verwijdert kunnen worden, nu wil ik dat hij alleen het project maar mag verwijderen als er voor dat project geen facturen meer openstaan..

dit is het script tot dusver:

---------------------------------

Ik heb een pagina waar de projecten kunnen worden verwijdert, dat heb ik met het volgende script: Nu wil ik alleen dat als er een factuur niet betaald is het project niet verwijdert kan worden... weet jij hoe dat kan... dit is eht scriptje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?php
    include("inc_connect.php")
?>
  

        <!-- CONTENT -->
        <style type="text/css">
<!--
#Layer1 {
    position:absolute;
    left:445px;
    top:5px;
    width:432px;
    height:53px;
    z-index:1;
}
#Layer2 {
    position:absolute;
    left:435px;
    top:100px;
    width:458px;
    height:199px;
    z-index:1;
}
#Layer3 {
    position:absolute;
    left:10px;
    top:535px;
    width:86px;
    height:28px;
    z-index:4;
}
#Layer4 {
    position:absolute;
    left:10px;
    top:131px;
    width:86px;
    height:28px;
    z-index:5;
}
#Layer5 {
    position:absolute;
    left:10px;
    top:165px;
    width:86px;
    height:28px;
    z-index:4;
}
#Layer6 {
    position:absolute;
    left:10px;
    top:199px;
    width:86px;
    height:28px;
    z-index:5;
    }
.style1 {color: #FFFFFF}
-->
        </style>
        <body background="../images/achtergrond.JPG">

<div id="Layer1"><h1 class="style1">Delete Project</h1></div>
<div id="Layer3"><a href="../Logout.php"><img src="../images/log_out.png" width="118" height="26" border="0"></a></div>
<div id="Layer4"><a href="Development.php"><img src="../images/home.jpg" width="118" height="26" border="0"></a></div>
<div id="Layer5"><a href="open_projects.php"><img src="../images/open_prj.jpg" width="118" height="26" border="0"></a></div>
<div id="Layer6"><a href="new_projects.php"><img src="../images/new_prj.jpg" width="118" height="26" border="0"></a></div>
<div id="Layer2"><table border="0" cellpadding="0" cellspacing="0" background="../images/adminpanel/bg_content.jpg" width="500" height="481">
    <tr>
        <td colspan="3" height="4"><!-- leeg laten --></td>
    </tr>
    <tr>
        <td width="4"><!-- leeg laten --></td>
        <td valign="top" align="center">
        
            <table border="0" cellpadding="0" cellspacing="0" width="492" height="20">
                <tr>
                    <td colspan="2" height="10"></td>
                </tr>
                <tr>
                    <td colspan="2" height="20"></td>
                </tr>
                <tr>
                    <td align="left"><font class="tekst_italic_pad">Would you like to delete this project?</font></td>
                    <td align="right"></td>
                </tr>
            </table>
    
            <table border="0" cellpadding="0" cellspacing="0" width="492" >
                <tr>
                    <td colspan="4" height="15"><!-- leeg laten --></td>
                </tr>
                <tr>
                    <td width="10"></td>
                    <?php
if (isset($_POST["bevestiging"])){
    $query="DELETE FROM project WHERE project_id='" .$_POST["id"] . "'";
    $result = mysql_query($query) or die ("FOUT: " . mysql_error());
    if ($result){
        echo ("<td colspan=\"2\"><font class=\"tekst_bold\">Record nummer " .$_POST["id"] . " is verwijderd<br></font>\n");
    }
}
else{
    $query="SELECT project_id, Date, applications, hardware, software, appointment, int_cnt_prs FROM project WHERE project_id='" .$_GET["ID"] . "'";
    $result = mysql_query($query) or die ("FOUT: " .mysql_error());

$result = mysql_query("SELECT project_id, Date, applications, hardware, software, appointment, int_cnt_prs FROM project WHERE project_id='" .$_GET["ID"] . "'");
while ($row = mysql_fetch_array($result)){
    $ID                         = $row["project_id"];
    $Date                        = $row["Date"];
    $applications                = $row["applications"];
    $hardware                     = $row["hardware"];
    $software                     = $row["software"];
    $appointment                 = $row["appointment"];
    $int_cnt_prs                 = $row["int_cnt_prs"];

        
    echo("
              <td width=\"150\"><font class=\"tekst_bold\"><b>Date:</b></font></td>
              <td ><font class=\"tekst\">$Date</font></td>
                  </tr>
                  <tr>
              <td width=\"10\"></td>
              <td width=\"150\"><font class=\"tekst_bold\"><b>Applications:</b></font></td>
              <td><font class=\"tekst\">$applications</font></td>
                  </tr>
                <tr>
             <td width=\"10\"></td>
              <td width=\"150\"><font class=\"tekst_bold\"><b>Hardware:</b></font></td>
              <td><font class=\"tekst\">$hardware</font></td>
                  </tr>
                <tr>
              <td width=\"10\"></td>
              <td width=\"150\"><font class=\"tekst_bold\"><b>Software:</b></font></td>
              <td><font class=\"tekst\">$software</font></td>
                  </tr>
                <tr>
              <td width=\"10\"></td>
              <td width=\"150\"><font class=\"tekst_bold\"><b>Appointment:</b></font></td>
              <td><font class=\"tekst\">$appointment</font></td>
                  </tr>
                  <tr>
              <td width=\"10\"></td>
              <td width=\"150\"><font class=\"tekst_bold\"><b>Internal Contact Person:</b></font></td>
              <td><font class=\"tekst\">$int_cnt_prs</font></td>
                  </tr>  
              "
);
            }

    ?>
  

                <tr>
                    <td colspan="3" height="10"><!-- leeg laten --></td>
                </tr>
                <tr>
                    <form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
                    <input type="hidden" name="bevestiging" value="1"><input type="hidden" name="id" value="<?php echo($_GET["ID"])?>">
                    <td width="10"></td>
                    <td width="90"></td>
                    <td><input class="button2" type="Submit" value="Delete"></td>
                    </form>
                </tr>
            </table>
            

<?php
}
?>
  

        
        </td>
        <td width="4"><!-- leeg laten --></td>
    </tr>
    <tr>
        <td colspan="3" height="4"><!-- leeg laten --></td>
    </tr>
</table>

<!-- EINDE CONTENT -->

</div>

</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Guido Piket
 
PHP hulp

PHP hulp

15/05/2024 07:55:05
 
PHP Newbie

PHP Newbie

31/10/2007 23:06:00
Quote Anchor link
Gebruik postgre SQL, maak een FK aan die de relatie tussen factuur.project_id en project.id vast legt, en hang daar een RESTRICT aan. Dan kun je het project pas verwijderen wanneer er geen facturen meer aanhangen..
 
Guido Piket

Guido Piket

31/10/2007 23:08:00
Quote Anchor link
ik heb de ballen verstand van php dus hoe is dat stuk script
Gewijzigd op 01/01/1970 01:00:00 door Guido Piket
 
Jan Koehoorn

Jan Koehoorn

31/10/2007 23:09:00
Quote Anchor link
Als je niet "de balen verstand" van PHP hebt zou ik eerst met iets simpelers beginnen.
 
Guido Piket

Guido Piket

31/10/2007 23:11:00
Quote Anchor link
heb het nodig voor een project van school
 
Jan Koehoorn

Jan Koehoorn

31/10/2007 23:11:00
Quote Anchor link
Ja dat is mogelijk. Maar wij zijn hier PHPhulp.nl en niet ikdoejeschoolprojectwelvoorje.nl
Edit:
We helpen mensen bij scripts die ze zelf gemaakt hebben en we geven ze dus duwtjes in de goede richting.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Guido Piket

Guido Piket

31/10/2007 23:12:00
Quote Anchor link
ik heb de rest van het script toch zelf gemaakt, maar hier kom ik niet uit, daarom vraag ik de hulp van phphulp.nl
Gewijzigd op 01/01/1970 01:00:00 door Guido Piket
 
Jan Koehoorn

Jan Koehoorn

31/10/2007 23:17:00
Quote Anchor link
Je hebt deze delete query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
        $query
="DELETE FROM project WHERE project_id='" .$_POST["id"] . "'";
?>

Daaraan voorafgaand zou je eerst een query moeten uitvoeren waarin je checkt hoeveel hoeveel facturen er zijn met dat project_id
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    $sql
= "
        SELECT COUNT(id) AS aantal
        FROM facturen
        WHERE project_id = "
. $_POST['id'];
    if ($res = mysql_query ($sql)) {
        if (mysql_num_rows ($res) == 0) {
        // nu kun je je delete query uitvoeren
        }
    }

?>
 
Joren de Wit

Joren de Wit

31/10/2007 23:19:00
Quote Anchor link
En het antwoord is toch al (deels) gegeven?

Zorg dat je je database goed inricht. Leg de juiste relaties tussen je tabel met projecten en je tabel met facturen.

Vervolgens kun je bij het verwijderen van een project eerst de status van alle facturen horend bij dat project controleren en als er 1 niet betaald is, gaat het verwijderen dus niet door. Kwestie van een SELECT query uitvoeren een if/else constructie gebruiken om de voorwaarde te controleren...

ps. @Jan: het gaat om niet betaalde facturen. Ervan uitgaande dat je betaalde facturen gewoon in de database bewaart, werkt jouw scriptje niet. Er zal echt op status van een factuur gecontroleerd moeten worden.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Guido Piket

Guido Piket

31/10/2007 23:23:00
Quote Anchor link
Oke dank je wel, maar het gaat er niet om of er facturen zijn, maar ze mogen niet de status Invoice sent, Invoice reminder sent of Invoice not paid hebben, hebben ze deze wel dan moet er (als het kan in rode letters) een waarschuwing komen dat niet alle facturen zijn betaalt en dat het niet mogelijk is om dit project te verwijderen
 
Joren de Wit

Joren de Wit

31/10/2007 23:28:00
Quote Anchor link
Dan verander je toch de query die Jan al geeft een klein beetje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT COUNT(*) AS aantal
FROM facturen
WHERE status <> 'Invoice paid'
AND project_id = 1

Die 1 vervang je natuurlijk door een variabele. Vervolgens dit resultaat even fetchen en kijken wat de waarde van 'aantal' is. Als dat > 0 is, zijn er dus nog openstaande facturen en kan het project niet verwijderd worden.
 
Guido Piket

Guido Piket

31/10/2007 23:32:00
Quote Anchor link
De relatie tussen de tabel facturen en de tabel projecten is project_id
en dat laatste stuk van je snap ik niet echt :

Die 1 vervang je natuurlijk door een variabele. Vervolgens dit resultaat even fetchen en kijken wat de waarde van 'aantal' is. Als dat > 0 is, zijn er dus nog openstaande facturen en kan het project niet verwijderd worden
 
Jan Koehoorn

Jan Koehoorn

31/10/2007 23:52:00
Quote Anchor link
@ Blanche: klopt, die controle op status is belangrijk. Die SELECT COUNT(*) die jij gebruikt is een speciale constructie binnen MySQL die alleen sneller werkt als je geen WHERE condition hebt.
 
Joren de Wit

Joren de Wit

31/10/2007 23:52:00
Quote Anchor link
Precies zoals ik het zeg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$sql
= "
    SELECT COUNT(id) AS aantal
    FROM facturen
    WHERE status <> 'Invoice paid'
    AND project_id = 1
    "
;

if(!$res = mysql_query($sql))
{

    trigger_error(mysql_error());
}

else
{
    $row = mysql_fetch_assoc($res);
    if($row['aantal'] > 0)
    {

        // Project kan niet verwijderd worden!
    }
}

?>


edit:
Quote:
SELECT COUNT(*) die jij gebruikt is een speciale constructie binnen MySQL die alleen sneller werkt als je geen WHERE condition hebt.
Ik lees het hier ook in de handleiding. In dat geval dus toch liever een kolomnaam opgeven...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
PHP erik

PHP erik

01/11/2007 08:27:00
Quote Anchor link
Ik vind dit topic een typisch geval van een simpele foreign key instellen en klaar. Geen SELECT-onzin, gewoon DELETE FROM en kijken of je een error terug krijgt. Scheelt je code en een SQL query. Eigenlijk zoals PHP Newbie zei.
 
Joren de Wit

Joren de Wit

01/11/2007 10:04:00
Quote Anchor link
@PHPerik: dat is niet helemaal waar. Als je goed leest zie je dat het namelijk niet om het bestaan van een factuur gaat, maar om de status ervan. In dit geval is een FK met een ON DELETE RESTRICT constraint dus niet de juiste oplossing en zul je altijd met een select moeten werken om te status te controleren.

Mocht je minder code willen, dan zou je hier natuurlijk een stored procedure voor kunnen schrijven die de controle voor je uitvoert. In dat geval hoef je alleen nog de SP aan te roepen in je script.
 
Frank -

Frank -

01/11/2007 10:13:00
Quote Anchor link
Dit moet je met 1 query oplossen, alleen een DELETE, met daarin USING om zo een verband te leggen met een andere tabel en zo extra voorwaardes op te kunnen nemen.

Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
DELETE FROM films USING producers
  WHERE producer_id = producers.id AND producers.name = 'foo';

Dit werkt zowel in MySQL als PostgreSQL.

Edit: Een stored procedure is dus niet nodig.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Joren de Wit

Joren de Wit

01/11/2007 10:15:00
Quote Anchor link
Mooie oplossing inderdaad, helemaal niet aan gedacht :)
 
Jacco Engel

Jacco Engel

01/11/2007 11:11:00
Quote Anchor link
En nog een tip van een leek. Zet statusen in een aparte table en ga met status id's werken :)
 



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.