Onlogische foutmeldingen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

C#.NET Developer

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 »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

SQL developer

Functieomschrijving Voor een erkende werkgever in de omgeving van Tilburg zijn wij op zoek naar een ervaren SQL ontwikkelaar. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt er als volgt uit te zien: Het ontwerpen en implementeren van databaseschema's: Je bent in staat om een database te ontwerpen en de structuur van tabellen, relaties, indexen en andere objecten te definiëren; Het schrijven van complexe SQL-query's: Je kunt complexe query's schrijven om gegevens uit de database

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »
Mohamed nvt

Mohamed nvt

18/08/2016 12:30:20
Quote Anchor link
Hallo allemaal,

Aan mijn testapplicatie heb ik een zoekfunctie toegevoegd.
Wanneer ik een item zoek, dan wordt het weergegeven precies zoals het bedoeld is in een tabel.
Echter, wanneer ik niets invul en klik op zoeken, dan wordt het laatste item weergegeven!
En wanneer ik zoek op een item wat niet bestaat, dan krijg ik wel de melding "geen zoekresultaten gevonden" en helaas ook veel undefined veriables.

Ik heb zelf het idee dat het te maken met het organiseren van de PHP code, maar ik kom er niet uit.
Kortom, ik heb dus twee problemen en zou graag jullie feedback willen hebben.

Alvast bedankt!

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 include "includes/db-config.php"; ?>
<?php include "includes/header.php"; ?>
<?php
if(isset($_POST['submit'])){
$search = $_POST['search'];
$query = "SELECT * FROM medicines ";
$query .= "WHERE med_name LIKE '%$search%'";
$search_query = mysqli_query($connection,$query);
if(!$search_query){
    die(mysqli_error($connection));
    }

    
$count = mysqli_num_rows($search_query);
if($count == 0){
    echo "No result found";
    
    }
else {
        while ($row2 = mysqli_fetch_assoc($search_query)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        }        
}

?>

<div id="content">
<h1>Search Results</h1>

    <?php
echo "<table width='70%' border='solid 1px;'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
echo "</table>"; ?>

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

PHP hulp

28/03/2024 18:04:03
 
Ben van Velzen

Ben van Velzen

18/08/2016 12:38:34
Quote Anchor link
Op je eerste vraag: je zoekopdracht levert *alle* records op als resultaat wanneer je niets invult, immers wordt de zoekquery dan iets als "WHERE med_name LIKE '%%'". Je houdt nergens rekening met het feit dat je meer dan 1 resultaat kan hebben, je overschrijft constant je variabelen (maakt nutteloos extra variabelen aan) en print eenmalig je resultaat.

Op je tweede vraag: op welke regels krijg je deze meldingen? Vermoedelijk vraag je om kolommen die niet bestaan?

De foutmeldingen zijn niet onlogisch, het resultaat ook niet. Je code wel als dit niet is wat je probeert te bereiken.
Gewijzigd op 18/08/2016 12:39:19 door Ben van Velzen
 
Mohamed nvt

Mohamed nvt

18/08/2016 12:58:52
Quote Anchor link
Hallo Ben,

Wanneer ik niets invul en ik klik op zoeken, dan worden er niet alle records weergegeven, enkel het eerste item in de lijst. Ik ga nog even kijken hoe meerdere resultaten kunnen weergegeven worden. Deze punt is voor mij dus.


Wat bedoel je met dat ik constant de variabelen overschrijf? In andere topic heb ik aangegeven dat ik variabelen gebruik omdat ik het overzichtelijk vind. Als er een andere betere manier is, dan hoor ik dat graag.

Ik krijg onderstaande volgende foutmeldingen
en ik denk dat ik deze undefined foutmelding kan weghalen door de PHP code anders te laten beeindigen... en juist hier kom ik niet uit....


Notice: Undefined variable: medicine_name in D:\xampp\htdocs\inventory_test\search_results.php on line 35

Notice: Undefined variable: medicine_create_date in D:\xampp\htdocs\inventory_test\search_results.php on line 36
Notice: Undefined variable: medicine_expire_date in D:\xampp\htdocs\inventory_test\search_results.php on line 37

Notice: Undefined variable: medicine_factory in D:\xampp\htdocs\inventory_test\search_results.php on line 38

Notice: Undefined variable: medicine_register_date in D:\xampp\htdocs\inventory_test\search_results.php on line 39

Notice: Undefined variable: medicine_id in D:\xampp\htdocs\inventory_test\search_results.php on line 40

Notice: Undefined variable: medicine_id in D:\xampp\htdocs\inventory_test\search_results.php on line 41
 
Thomas van den Heuvel

Thomas van den Heuvel

18/08/2016 13:30:00
Quote Anchor link
Quote:
Ik krijg onderstaande volgende foutmeldingen
en ik denk dat ik deze undefined foutmelding kan weghalen door de PHP code anders te laten beeindigen... en juist hier kom ik niet uit....

Dit komt omdat je één resultaat afdrukt, of er nu resultaten zijn of niet.

Kijk maar eens naar de codeblokken van je code:
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
<?php
if (isset($_POST['submit'])) {
    // hier voer je je query uit
    if (!$search_query) {
        // foutmelding
    }
    
    if ($count == 0) {
        // geen resultaten
    } else {
        while ($row2 = mysqli_fetch_assoc($search_query)) {
            // while loop die continu resultaten overschrijft in variabelen
        }        
    }

    // hier druk je één resultaat af, ook al zijn er meerdere, of geen...
}
?>

De structuur van deze code kan anders en beter. Daarnaast komt het de leesbaarheid ten goede wanneer je correct inspringt.
Gewijzigd op 18/08/2016 13:31:35 door Thomas van den Heuvel
 
Mohamed nvt

Mohamed nvt

18/08/2016 14:03:14
Quote Anchor link
M.a.w zeg je dat ik na de loop moet controleren of er resultaten zijn?
Zo jah dan moet ik beslissen of ik een resultaat of meerdere wil weergeven?

Ik heb alleen geen idee hoe ik dat moet doen. En, voor de while loop controleer ik of de query resultaten heeft of niet...ben een beetje in de waar dus....snap je mij?
 
Ivo P

Ivo P

18/08/2016 14:08:13
Quote Anchor link
ik zou van regel 4 en 5 maken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($search = filter_input(INPUT_POST, 'search')) {
?>


Je wilt namelijk in eerste instantie niet weten of er op die knop gedrukt is. Je wilt weten of iemand iets heeft opgegeven waarop gezocht moet worden.

Deze if kijkt of het veld search gepost is EN of de waarde daarin niet leeg is.
Alleen dan lijkt me dat je wilt zoeken.

Verder kan het geen kwaad om een beetje logisch in te springen in je code. Dat maakt het overzichtelijker en leesbaarder.

(en naar mijn mening kan regel 6+7 ook leesbaarder worden door niet 2x iets aan de var toe te voegen, maar door gewoon binnen de query op enter te drukken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$query
= "SELECT *
          FROM tabel
          WHERE kolom LIKE '%"
. $search ."%'";
?>


(en dan ook nog even naar een escape functie kijken voor het geval iemand nog leuke opties weet met ' in de zoekterm)
 
Thomas van den Heuvel

Thomas van den Heuvel

18/08/2016 14:15:46
Quote Anchor link
De handigste plek om resultaten af te drukken is in de while-loop zelf.

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
<?php
// is er een formulier gesubmit?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // voer query uit
    $result = mysqli_query($connection, '... je query ...');
    // zijn er resultaten?
    if (mysqli_num_rows($result) == 0) {
        ?>
<p>Geen resultaten gevonden.</p><?php
    } else {
        // doorloop resultaten...
        while ($row = mysqli_fetch_assoc($result)) {
            // ... en druk deze hier direct af met behulp van $row
        }
    }

    // geef resultaten vrij
    mysqli_free_result($result);
}

?>


Als dit trouwens zoekfunctionaliteit betreft dan is het misschien handiger om te werken met GET in plaats van met POST.

Vermijd ook de introductie van overbodige variabelen.
 
Mohamed nvt

Mohamed nvt

18/08/2016 14:44:11
Quote Anchor link
Ik heb express de while code en de resultaten gescheiden van elkaar gehouden, omdat ik de resultaten in de div content wil weergeven, terwijl de while helemaal aan het begin, dus voor html uitgevoerd wordt, wordt uitgevoerd....

als er dus geen andere manier is, dan zal ik while loop en de resultaten weer samenvoegen...
 
Ivo P

Ivo P

18/08/2016 14:46:20
Quote Anchor link
je kunt die while wel apart houden, maar dan moet je ipv alle info in een variabele stoppen er een array voor gebruiken.

(en dan loop je in je div weer door je array heen.)

Kan wel, maar dan moet je 2x loopen
 
Mohamed nvt

Mohamed nvt

18/08/2016 15:08:47
Quote Anchor link
Update;
Nu heb ik de while loop code en resultaten samengevoegd.
En wanneer ik nu een paar letter invul, dan worden er meerdere resultaten weergegeven, dus zoals het hoort.
Het enige probleem waar ik nu tegen loop is dat alle records worden weergegeven wanneer ik niets invul en klik op search...

Iemand een idee hoe ik dit moet aanpakken?


BTW; voordat ik commentaar krijg over het aanpakken van security :) wil ik zeggen dat jullie allemaal gelijk hebben, en dit pak ik nadat ik de kern van de applicatie werkt :) bedankt voor jullie geduld!


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
<?php include "includes/db-config.php"; ?>
<?php include "includes/header.php"; ?>
<?php
if(isset($_POST['submit']) & !empty($_POST['submit'])){
$search = $_POST['search'];
$query = "SELECT * FROM medicines ";
$query .= "WHERE med_name LIKE '%$search%'";
$search_query = mysqli_query($connection,$query);
if(!$search_query){
    die(mysqli_error($connection));
    }

    
$count = mysqli_num_rows($search_query);
if($count == 0){
    echo "No result found";
    
    }
else {
        echo "<table width='70%' border='solid 1px;'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($search_query)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }

echo "</table>";        
}

?>

<div id="content">
<h1>Search Results</h1>
<?php } ?>
</div>
<?php include "includes/footer.php"; ?>
 
Ivo P

Ivo P

18/08/2016 15:10:35
Quote Anchor link
ik heb net al een suggestie gedaan over regel 4 en 5

jij controleert nu of er op de button is gedrukt en of de button niet een lege value had. (waarschijnlijk de caption van de button???)

controleer dan of het zoekvlak niet leeg was.
Gewijzigd op 18/08/2016 15:11:30 door Ivo P
 
Mohamed nvt

Mohamed nvt

18/08/2016 15:27:36
Quote Anchor link
Het volgende heb ik nu toegevoegd, en het werkt ook gelukkig.
Bijkomend probleem is dat de div footer helemaal uitgestrekt wordt van links naar rechts wanneer er gedrukt is op search butten en niets is ingevuld...
Volgens mij is dit geen PHP probleem, maar weet niet zeker

nieuwe code op regel 5

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_POST['submit']) & !empty($_POST['submit']) & !empty($_POST['search'])){


nieuwe code in regel 41
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php } else{
    
    
    echo "je hebt niets ingevuld";
}
?>
 
Ivo P

Ivo P

18/08/2016 15:32:43
Quote Anchor link
vraag: in welk geval zou de submitknop geen value naar de server sturen en in hoeverre is dat een reden om dan maar niet te zoeken?

Is de button trouwens aanwezig in de post-request als je na het invullen van het zoek-veld op enter drukt?

Vandaar dat veelal de vraag gesteld wordt: is het een post-request (zie post van Thomas: $_SERVER['REQUEST_METHOD'] == 'POST' )

of in mijn suggestie: om te kijken of het zoekveld in een post-request aanwezig is, en niet leeg (wat impliceert dat het een post-request is)

Toevoeging op 18/08/2016 15:36:17:

wat betreft de layout:

in de code die je toont, mis je in dat geval slechts de <table>

die zou je ook moeten missen als je zoekt op iets dat niet gevonden wordt.
Wat als je zoekt op lasjdlfkjalkjfasjiwjeriwe ?
 
Mohamed nvt

Mohamed nvt

18/08/2016 16:02:55
Quote Anchor link
Als ik nu een letter invul, dan wordt de div footer niet uitgestrekt.
Dit gebeurt enkel wanneer ik helemaal geen letter/string invul.
Betekent dit dat ik de regel 4 moet veranderen naar het volgende:

Btw; wanneer de string "No result found" van regel 14 wordt weergegeven, gebeurt dit aan de rechterkant van het pagina ipv aan de linkerkant of in het midden. Beetje vreemd vind ik dit...
huidige regel 4

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_POST['submit']) & !empty($_POST['submit']) & !empty($_POST['search'])){


nieuwe regel 4
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_SERVER["REQUEST_METHOD"] == "POST"


In welke regel zie je de tag <table> ontbreekt?

volledige code van search_results.php

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
<?php include "includes/db-config.php"; ?>
<?php include "includes/header.php"; ?>
<?php
if(isset($_POST['submit']) & !empty($_POST['submit']) & !empty($_POST['search'])){
$search = $_POST['search'];
$query = "SELECT * FROM medicines ";
$query .= "WHERE med_name LIKE '%$search%'";
$search_query = mysqli_query($connection,$query);
if(!$search_query){
    die(mysqli_error($connection));
    }

$count = mysqli_num_rows($search_query);
if($count == 0){
    echo "No result found";
    
    }
else {
        echo "<table width='70%' border='solid 1px;'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($search_query)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }

echo "</table>";        
}

?>

<div id="content">
<h1>Search Results</h1>
<?php } else{
    
    
    echo "je hebt niets ingevuld";
}

 ?>

</div>
<?php include "includes/footer.php"; ?>
 
Ivo P

Ivo P

18/08/2016 16:18:53
Quote Anchor link
De </div> van regel 47. Waar staat de <div> daarvan? op regel 39?

Maar regel 39 staat in een if-structuur
 
Michael -

Michael -

18/08/2016 17:45:56
Quote Anchor link
Je maakt er een rommeltje van en de tips die worden gegeven zie ik niet terug in je laatste code.
Variabelen kopiëren is onzin als je er verder niks mee doet (regel 5, 12 en 20-25).
Spring wat beter in zodat het overzichtelijk blijft (regel 18 en 19 horen in de loop, dus 2 tabs ervoor is duidelijker)

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

echo '<div id="content">'
    .'<h1>Search Results</h1>';

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['search']) && strlen(trim($_POST['search'])) > 0){
        
        $query = "SELECT
                    med_id,
                    med_name,
                    med_create_date,
                    med_expire_date,
                    med_factory_id,
                    med_register_date
                FROM
                    medicines
                WHERE
                    med_name LIKE '%"
. mysqli_real_escape_string($connection, $_POST['search']) . "%'";
        $search_query = mysqli_query($connection,$query);

        if(!$search_query){ // Niet nodig en nooit DIE gebruiken buiten de ontwikkel versie.
            die(mysqli_error($connection));
        }


        if(mysqli_num_rows($search_query) > 0){
            echo "<table width='70%' border='solid 1px;'>"
                . "<tr>"
                    . "<th>Name</th>"
                    . "<th>Production_Date</th>"
                    . "<th>Expire_Date</th>"
                    . "<th>Created by factory</th>"
                    . "<th>Added to database</th>"
                    . "<th>Edit</th>"
                    . "<th>Delete</th>"
                . "</tr>";
            while ($row2 = mysqli_fetch_assoc($search_query)){
                echo "<tr>" .
                    "<td>{$row2['med_name']}</td>" .
                    "<td>{$row2['med_create_date']}</td>" .
                    "<td>{$row2['med_expire_date']}</td>" .
                    "<td>{$row2['med_factory_id']}</td>" .
                    "<td>{$row2['med_register_date']}</td>" .
                    "<td><a href='edit.php?id={$row2['med_id']}'>Edit</a></td>" .
                    "<td><a href='delete.php?id={$row2['med_id']}'>Delete</a></td>" .
                    "</tr>";
            }

            echo "</table>";        
        }
else {
            echo 'Geen resultaten';
        }
    }
else {
        echo 'Niks ingevuld';
    }
}


echo '</div>';

include "includes/footer.php";
?>
Gewijzigd op 18/08/2016 17:47:42 door Michael -
 
Mohamed nvt

Mohamed nvt

20/08/2016 14:00:53
Quote Anchor link
Ivo P op 18/08/2016 16:18:53:
De </div> van regel 47. Waar staat de <div> daarvan? op regel 39?

Maar regel 39 staat in een if-structuur

Die div is van de wrapper.
Elk pagina heb ik als volgt gestructureerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<div id="wrapper">
<div id="header"></div>
<div id="content"></div>
<div id="sidebar"></div>
<div id="footer"></div>
</div>


Toevoeging op 20/08/2016 14:05:44:

Michael - op 18/08/2016 17:45:56:
Je maakt er een rommeltje van en de tips die worden gegeven zie ik niet terug in je laatste code.
Variabelen kopiëren is onzin als je er verder niks mee doet (regel 5, 12 en 20-25).
Spring wat beter in zodat het overzichtelijk blijft (regel 18 en 19 horen in de loop, dus 2 tabs ervoor is duidelijker)

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

echo '<div id="content">'
    .'<h1>Search Results</h1>';

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['search']) && strlen(trim($_POST['search'])) > 0){
        
        $query = "SELECT
                    med_id,
                    med_name,
                    med_create_date,
                    med_expire_date,
                    med_factory_id,
                    med_register_date
                FROM
                    medicines
                WHERE
                    med_name LIKE '%"
. mysqli_real_escape_string($connection, $_POST['search']) . "%'";
        $search_query = mysqli_query($connection,$query);

        if(!$search_query){ // Niet nodig en nooit DIE gebruiken buiten de ontwikkel versie.
            die(mysqli_error($connection));
        }


        if(mysqli_num_rows($search_query) > 0){
            echo "<table width='70%' border='solid 1px;'>"
                . "<tr>"
                    . "<th>Name</th>"
                    . "<th>Production_Date</th>"
                    . "<th>Expire_Date</th>"
                    . "<th>Created by factory</th>"
                    . "<th>Added to database</th>"
                    . "<th>Edit</th>"
                    . "<th>Delete</th>"
                . "</tr>";
            while ($row2 = mysqli_fetch_assoc($search_query)){
                echo "<tr>" .
                    "<td>{$row2['med_name']}</td>" .
                    "<td>{$row2['med_create_date']}</td>" .
                    "<td>{$row2['med_expire_date']}</td>" .
                    "<td>{$row2['med_factory_id']}</td>" .
                    "<td>{$row2['med_register_date']}</td>" .
                    "<td><a href='edit.php?id={$row2['med_id']}'>Edit</a></td>" .
                    "<td><a href='delete.php?id={$row2['med_id']}'>Delete</a></td>" .
                    "</tr>";
            }

            echo "</table>";        
        }
else {
            echo 'Geen resultaten';
        }
    }
else {
        echo 'Niks ingevuld';
    }
}


echo '</div>';

include "includes/footer.php";
?>


Hallo Michael,

Bedankt voor je feedback.
De tips die worden gegeven, heb ik deels gevolgd, want ik wil het zelf begrepen en later als er problemen zijn het zelf oplossen.
En de variabelen van lijn 21 t/m 26 heb ik weer gebruikt in lijn 28 t/m 34.
Jouw code vind ik ook goed, maar vind persoonlijk gevoeliger voor synatx errors.

Update:

Bij nader inzien, vind ik dat je gelijk hebt. Ik zie ook dat je code beter eruit ziet en georganiseerder is. Tnx!
Gewijzigd op 20/08/2016 15:15:50 door Mohamed nvt
 
Eddy E

Eddy E

21/08/2016 10:35:59
Quote Anchor link
Voor je eigen leesbaarheid én het voorkomen van fouten (een lege regel die een onverklaarbare ruimte in je HTML-elementen maakt), kan dit beter anders doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
                echo "<tr>" .
                    "<td>{$row2['med_name']}</td>" .
                    "<td>{$row2['med_create_date']}</td>" .
                    "<td>{$row2['med_expire_date']}</td>" .
                    "<td>{$row2['med_factory_id']}</td>" .
                    "<td>{$row2['med_register_date']}</td>" .
                    "<td><a href='edit.php?id={$row2['med_id']}'>Edit</a></td>" .
                    "<td><a href='delete.php?id={$row2['med_id']}'>Delete</a></td>" .
                    "</tr>";
?>


Dat kan beter zo.
Let op het escapen etc.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
               echo '<tr>
            <td>'
.$row2['med_name'].'</td>
                        <td>'
.$row2['med_create_date'].'</td>
                        <td>'
.$row2['med_expire_date'].'</td>
                        <td>'
.$row2['med_factory_id']}.'</td>
                        <td>'
.$row2['med_register_date'].'</td>
                        <td><a href="edit.php?id='
.$row2['med_id'].'">Edit</a></td>
                        <td><a href="delete.php?id='
.$row2['med_id'].'">Delete</a></td>
                    </tr>'
;
?>


Dus je opent je echo met een enkel haakje.
Je escapet al je variabelen met enkele haakjes
Je gebruikt gewoon dubbele haakjes in HTML (zie onderste regels).
Je sluit niet elke keer je echo af, het is 1 echo!
 
Michael -

Michael -

21/08/2016 12:58:08
Quote Anchor link
Eddy E op 21/08/2016 10:35:59:
Dus je opent je echo met een enkel haakje.
Je escapet al je variabelen met enkele haakjes
Je gebruikt gewoon dubbele haakjes in HTML (zie onderste regels).
Je sluit niet elke keer je echo af, het is 1 echo!


PHP laat je daarin heel vrij in tegenstelling tot andere programmeertalen die een structuur eisen.
Persoonlijk doe ik het zo omdat ik dat mooier vind. Iedereen heeft zijn eigen manier wat hij/zij het fijnste vind.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo '<tr>' . PHP_EOL
. '<td>' . $row2['med_name'] . '</td>' . PHP_EOL
. '</tr>' . PHP_EOL;
?>
Gewijzigd op 21/08/2016 12:58:54 door Michael -
 
Ivo P

Ivo P

21/08/2016 18:43:28
Quote Anchor link
"Die div is van de wrapper."

Daar gaat het niet om.

ik bedoelde dat je zelf even in je code de bijbehorende div opzoekt.
dan zie je dat die IN een if staat, maar de </div> komt altijd. ook als de if false was.
 
Mohamed nvt

Mohamed nvt

22/08/2016 11:12:56
Quote Anchor link
Ivo P op 21/08/2016 18:43:28:
"Die div is van de wrapper."

Daar gaat het niet om.

ik bedoelde dat je zelf even in je code de bijbehorende div opzoekt.
dan zie je dat die IN een if staat, maar de </div> komt altijd. ook als de if false was.

Aha dat bedoel je.
Inmiddels heb ik het aangepast.
Tnx!
 



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.