while loop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

Medior/senior PHP ontwikkelaar E-commerce

Functie Het software development team bestaat momenteel 5 scrum teams . Ieder team heeft een eigen SCRUM Master en eigen tester. Zij werken voornamelijk in PHP en met hun eigen geschreven framework wat Symfony based is . Jij bent samen met je collega’s verantwoordelijk voor het interne softwaresysteem en alle projecten die daar omheen lopen. Alles wat jij ontwikkelt, wordt direct toegepast en uitgerold (wereldwijd). Dit maakt jouw werk tastbaar en uitdagend! Een greep uit jouw werkzaamheden: Toevoegen en ontwikkelen van nieuwe functionaliteiten Logistieke software ontwikkelen voor intern gebruik Tientallen gigabytes aan data inzichtelijk maken Altijd op zoek gaan naar

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »
Racoon smasher

racoon smasher

28/05/2015 11:55:33
Quote Anchor link
Ik ben momenteel bezig met het ophalen van afbeeldingen die bij een sieraad horen, maar ik loop ergens tegen aan. Alles wordt weergegeven behalve de afbeeldingen die in de whileloop worden geladen. Aangezien ik eerder op de pagina al $queryFetch = mysql_fetch_array($querySelect); heb neergezet weet ik zo gauw niet wat er in de while loop moet komen om die te laten werken.

Is er iemand die de oplossing weet?

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
<?php
    include "include/header.php";

    if(isset($_GET['id']))
    {

        $id = $_GET['id'];
    }

    
    $querySelect = mysql_query("SELECT     tbl_jewelry.j_id,
                                        tbl_jewelry.j_name,
                                        tbl_jewelry.j_price,
                                        tbl_jewelry.j_information,
                                        tbl_jewelryphotos.jp_id,
                                        tbl_jewelryphotos.jp_location,
                                        tbl_jewelryphotos.j_id
                                 FROM   tbl_jewelry
                                 JOIN    tbl_jewelryphotos ON tbl_jewelryphotos.j_id = tbl_jewelry.j_id
                                WHERE    tbl_jewelry.j_id = '$id'"
);
    $queryFetch = mysql_fetch_array($querySelect);
?>


<div class="Wrapper">
    <h1>Sieraad</h1>
    <div class="buttons">
        <a href="add_photos.php?id=<?php echo $queryFetch['j_id'] ?>" class="greyBtn">Foto's toevoegen</a>
    </div>

    <table>
        <tr>
            <th>Naam</th>
            <td><?php echo $queryFetch['j_name'];?></td>
        </tr>
        <tr>
            <th>Prijs</th>
            <td><?php echo $queryFetch['j_price'];?></td>
        </tr>
        <tr>
            <th>Informatie</th>
            <td><?php echo $queryFetch['j_information'];?></td>
        </tr>
    </table><br />

    <?php
        $numrows
= mysql_num_rows($queryFetch);
        echo "<table><tr><th>Foto's</th></tr>";
        if ($numrows > 0) {
            while ()
            {

                echo "<tr>";
                echo "<td><img src='".$queryFetch['jp_location']."'></td>";
                echo "<td><a href='delete_order.php?id=".$queryFetch['jp_id']."' onclick=\"return confirm('Weet je zeker dat je deze afbeelding wilt verwijderen?');\"><img src='UI/images/delete.png'></a></td>";
                echo "</tr>";
            }
        }

        else
        {
            echo "<tr><td colspan='2'>Geen data</td></tr>";
        }

        echo "</table>";
    ?>

</div>

<?php
    include "include/footer.php";
?>
 
PHP hulp

PHP hulp

25/04/2024 22:04:09
 
Johan K

Johan K

28/05/2015 12:03:43
Quote Anchor link
Wat heel handig is om te weten hier, is wat de bron vermeling zegt over wat er uit word geprint.
Als je dan de URL klikt is de link die je hem hier geeft dan wel de juiste?
 
Racoon smasher

racoon smasher

28/05/2015 12:07:39
Quote Anchor link
Wat bedoel je daarmee?
 
Thomas van den Heuvel

Thomas van den Heuvel

28/05/2015 20:19:27
Quote Anchor link
Als ik naar je query kijk dan lijkt het alsof je de data van één jewelry-item ophaalt in combinatie met mogelijk bijbehorende jewelry-foto's.

Wanneer je de eerste keer mysql_fetch_array() aanroept haal je één resultaat op. Dit zal in de meeste gevallen de jewelry-data + de data van de eerste foto zijn.

Als je vervolgens met een while-loop de rest van de records ophaalt sla je mogelijk de eerste foto over.

Je zit dus met deze ene query een beetje in een vreemde spagaat als je dit vervolgens in je layout wil verwerken. Of je moet ook je tabel met sieraad-data in de while-loop opnemen en deze alleen afdrukken als je het eerste record ophaalt maar dat lijkt mij een beetje suf. Je zou je kunnen afvragen of de performance-winst die het uitvoeren van 1 query opweegt tegen de code-structuur waarin je dit moet vatten.

Ik kan mij zo voorstellen dat alle sieraden foto's hebben, maar is dit ook gegarandeerd? Een veiliger strategie zou misschien een LEFT JOIN zijn, of je zou kunnen overwegen om het ophalen van de sieraad-data en de bijbehorende foto's te splitsen (jaja, dit is een extra query... separation of concerns okay).

Als je de foto's apart ophaalt dan haal je elke stap van je while-loop een query-resultaat op waarbij je tegelijkertijd controleert of je ook nog op-te-halen-query-resultaten hebt op de gebruikelijke manier.

Query voor tonen van sieraad info:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT ... FROM tbl_jewelry WHERE j_id = <id>
Dit levert 0 of 1 resultaat op.

Query voor tonen van bijbehorende foto's:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT ... FROM tbl_jewelryphotos WHERE j_id = <id>
Dit levert 0 of meer resultaten op waar je doorheen zult moeten lo(o)pen.
 
Racoon smasher

racoon smasher

28/05/2015 20:25:58
Quote Anchor link
Deze hulp komt van pas. Ik heb het nu inderdaad opgelost met 2 query's, maar dit vind ik zelf niet zo netjes. Als ik met die left join werk, moet ik dan nog rekening houden met andere dingen?

EDIT: geprobeerd, maar hij geeft dan geen data weer
Gewijzigd op 28/05/2015 20:29:53 door racoon smasher
 
Thomas van den Heuvel

Thomas van den Heuvel

28/05/2015 22:09:03
Quote Anchor link
Sommige mensen vinden meerdere queries een doodzonde als je alles in één query kan frotten... de leesbaarheid van het geheel even buiten beschouwing latend. Ik ga als het even kan altijd voor eenvoud en leesbaarheid, tenzij de performance in het gedrang komt omdat queries zwaar zijn. Dit soort queries zijn niet wereldschokkend maar elke query is er een, dat is waar.

Algemene vorm JOIN query:
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
<?php
$res
= mysql_query('... je join query ...');
$first = true; // geeft aan of we met de eerste resultaatrij bezig zijn

// haal de resultaten op

while ($row = mysql_fetch_assoc($res)) {
    if ($first) {
        // dit is de eerste rij, druk hier sieraad details af (zitten in $row)
        // ...

        // start hier(na) eventueel ook een tabel of container voor je foto's
        // ...


        $first = false; // voor volgende resultaatrijen wordt dit blok overgeslagen
    }
    // druk hier je foto-data af (zitten ook in $row)
    // ...

} // while

// geef resultaat vrij

mysql_free_result($res);
?>

Voor een aparte query voor enkel foto's maak je een while-loop zoals hierboven minus het $first-if-blok.

Advies: ga MySQLi of PDO gebruiken in plaats van mysql_-functies als je nieuwe code schrijft.
 
Racoon smasher

racoon smasher

28/05/2015 22:16:46
Quote Anchor link
Als goed is snap ik je uitleg en zal het vanavond of morgen nog toepassen en kijken of het lukt.

Verder weet ik dat het belangrijk is te verdiepen in vernieuwde technologie, maar aangezien ik wil overstappen naar het maken van websites met ASPX.NET en C#.NET heb ik hier niet echt behoefte aan.

Heel erg bedankt en ik laat hier nog van me horen of het gelukt is of niet.

Toevoeging op 29/05/2015 14:58:03:

Aangezien alles in 1 query zit zal ik altijd een melding krijgen dat ik 1 row heb en dus kan ik niet aangeven bij de afbeeldingen dat er geen data is met behulp van $numrows > 0

Moet ik dan toch 1 query erbij doen of is hier een andere oplossing voor?
 
Thomas van den Heuvel

Thomas van den Heuvel

29/05/2015 15:11:38
Quote Anchor link
Racoon smasher op 28/05/2015 22:16:46:
Aangezien alles in 1 query zit zal ik altijd een melding krijgen dat ik 1 row heb en dus kan ik niet aangeven bij de afbeeldingen dat er geen data is met behulp van $numrows > 0

Moet ik dan toch 1 query erbij doen of is hier een andere oplossing voor?

Hm? Die JOIN kan er toch voor zorgen dat je meerdere resultaatrijen hebt? Maar -zoals eerder aangegeven- als het niet gegarandeerd is dat elk sieraad een of meer foto's heeft is het misschien verstandiger om er een aparte query van te maken (of een LEFT JOIN te gebruiken). Maar je noemt dus nu alweer een reden waarom het dus handiger zou zijn om het sieraad en (eventueel) bijbehorende foto's apart te behandelen.
 
Racoon smasher

racoon smasher

29/05/2015 15:13:19
Quote Anchor link
Nouja ik heb het nu zo opgelost

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
<?php
    if(isset($_GET['id']))
    {

        $id = $_GET['id'];
    }

    $res = mysql_query("SELECT     tbl_jewelry.j_id,
                                tbl_jewelry.j_name,
                                tbl_jewelry.j_price,
                                tbl_jewelry.j_information,
                                tbl_jewelry.so_id,
                                tbl_jewelryphotos.jp_id,
                                tbl_jewelryphotos.jp_location,
                                tbl_sort.so_id,
                                tbl_sort.so_name
                         FROM   tbl_jewelry
                         JOIN   tbl_sort ON tbl_sort.so_id = tbl_jewelry.so_id
                    LEFT JOIN   tbl_jewelryphotos ON tbl_jewelryphotos.j_id = tbl_jewelry.j_id
                        WHERE    tbl_jewelry.j_id = '$id'"
);
    $cw = mysql_query("SELECT tbl_jewelryphotos.jp_id FROM tbl_jewelryphotos WHERE tbl_jewelryphotos.j_id = '$id'");
    $ns = mysql_num_rows($cw);
    $first = true;
    
    while ($queryFetch = mysql_fetch_assoc($res)) {
        if ($first) {
            echo "<table>";
            echo "<tr><th>Naam</th><td>" .$queryFetch['j_name'] . "</td></tr>";
            echo "<tr><th>Naam</th><td>" .$queryFetch['j_price'] . "</td></tr>";
            echo "<tr><th>Naam</th><td>" .$queryFetch['j_information'] . "</td></tr>";
            echo "<tr><th>Naam</th><td>" .$queryFetch['so_name'] . "</td></tr>";
            echo "</table><br />";
            echo "<table><tr><th>Foto's</th><th>Verwijderen</th></tr>";
            $numrows = mysql_num_rows($res);
            $first = false;
        }

        if ($ns > 0) {
            echo "<tr>";
            echo "<td><img src='".$queryFetch['jp_location']."'></td>";
            echo "<td><a href='delete_photo.php?jpid=".$queryFetch['jp_id']."&id=".$queryFetch['j_id']."' onclick=\"return confirm('Weet je zeker dat je deze afbeelding wilt verwijderen?');\"><img src='UI/images/delete.png'></a></td>";
            echo "</tr>";
        }
else {
            echo "<tr><td colspan='2'>Geen data</td></tr>";
        }
    }

    echo "</table>";
    
    mysql_free_result($res);
?>
 
Thomas van den Heuvel

Thomas van den Heuvel

29/05/2015 15:21:32
Quote Anchor link
Uhm, dat is een beetje een vreemde constructie, je eerste query geeft ook eigenlijk te vaak teveel informatie terug? Als je dit nu eens herstructureert?
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
$res = <je query voor het opvragen van sieraad info>; // levert 1 resultaat
if (mysql_num_rows($res) == 1) {
    $row = mysql_fetch_assoc($res);
    // druk hier sieraad info af mbv $row

    // haal fotos op
    $res2 = <je query voor het opvragen van foto-data bij sieraad $id>; // levert 0 of meer resultaten
    if (mysql_num_rows($res2) > 0) {
        while ($row2 = mysql_fetch_assoc($res2)) {
            // druk foto data af mbv $row2
        }
    } else {
        // geen foto's beschikbaar mededeling
    }
    mysql_free_result($res2);
}
mysql_free_result($res);

Maar dan met mysqli dus :p.
 
Racoon smasher

racoon smasher

29/05/2015 15:35:21
Quote Anchor link
Klopt daar heb je een heel goed punt. De manier die je nu aangeeft was ook de manier hiervoor. Deze ga ik dus weer toepassen.

Heel erg bedankt!
 



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.