Onlogische foutmeldingen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stage Web Developer

Wie zijn wij? pili's visie is om voor iedereen een wereld vol services te creëren gedreven door techniek. We streven ernaar om de plek te worden waar je professionals kan vinden, boeken en betalen op basis van gemak, transparantie en vertrouwen. We bouwen momenteel ons SaaS ecosysteem voor service professionals waarin zij hun klanten en zaken op 1 plek beter kunnen beheren. We digitalizeren de services sector en zijn van plan om nog meer functionaliteit toe te voegen zodat uiteindelijk iedereen de juiste vakman kan vinden en iedere professional zijn services eenvoudig en op een unieke manier kan aanbieden op

Bekijk vacature »

Front-end Ontwikkelaar

Bedrijfsomschrijving Bij het accepteren van dit aanbod kom je terecht binnen een veelzijdige organisatie waar een goede sfeer hangt. Zij zijn gewend dagelijks met elkaar te lunchen en ruimte is voor een potje Mario. Als Front-end ontwikkelaar ga je je op projectbasis bezighouden met het ontwikkelen van content voor diverse opdrachtgevers. De projecten waar je aan gaat werken zullen verschillende qua omvang. Hierbij kan je rekening houden met een gemiddelde doorlooptijd van een half jaar, waarbij er meerdere projecten naast elkaar kunnen lopen. Naast ontwikkeling aan de Front-end ga je ook een rol spelen bij de ontwikkeling aan de back-end.

Bekijk vacature »

BI Developer

Bedrijfsomschrijving De organisatie waar je komt te werken als (Senior) BI Developer is een grote internationale financiële instelling. Met vele vestigingen in Nederland zijn ze een belangrijke speler op de financiële markt. Jij zal hoofdzakelijk op het kantoor in Amsterdam werkzaam zijn, maar het kan ook voorkomen dat je af en toe naar een andere vestiging gaat. Het bedrijf telt ongeveer 5000 medewerkers waarvan ruim 150 ICT'ers. Het team waar je in komt te werken als (Senior) BI Developer is een ambitieus BI team dat zich bezighoudt met lokale en internationale uitdagingen. Zo zit een Junior BI Developer, 2 (Medior)

Bekijk vacature »

Software Architect / Developer / C# / Azure / CQRS

Bedrijfsomschrijving Als Software Architect/Senior Developer kom je te werken bij een organisatie in regio Veenendaal wiens core business software development is voor oplossingen voor de vastgoed branche. Deze applicaties vormen de basis voor financiële processen en planningen en worden door een groot tal gerenommeerde organisaties in Nederland gebruikt. Samen met een team van 15 collega's (bestaande uit ontwikkelaars, testers, UX/UI Designer en een Product Owner), verdeeld over Nederland en een andere locatie in Europa, ga je als Software Architect / Senior Developer aan de slag om het gehele platform te moderniseren. Hiervoor maakten ze gebruik van Delphi en is het

Bekijk vacature »

Video algorithm software engineer and developer (F

Task: -Implementing and improving video signal processing algorithms for mobile, PC, and TV apps -Cooperating and interacting with a team of specialists and developers. Able to give guidance / input on further quality and implementation optimizations -Video processing skills: further tune our HDR system implementation to work optimally in broadcast and OTT infrastructures -Personal skills: Ability to interact with prospective customers, answer their questions -Problem-solving skills: Solve performance issues on the spot when required due to tests and trials -Propose and analyze future ways to optimize the video processing implementation and implement them -Interaction with the commercial team to define

Bekijk vacature »

Lead Developer

Discipline Information Technology Location Venlo (NL) Hours a week 40 As our Lead Developer You will be responsible to create an architectural blueprint in collaboration with product, owner and development team. You align domain architecture with enterprise architecture and you create, influence and apply domain-specific architecture views & viewpoints. You have overview and you can balance long term and near-term priorities What you will do Design solution architecture to ensure a scalable, performant, highly available secure software product Drive adoption of technology standards within a domain Hands-on development of processes and applications in the ecosystem Guide implementations (data cleanup procedures,

Bekijk vacature »

Cloud Engineer Welkomstbonus € 5.000,-

Cloud Engineer medior Welkomstbonus van € 5.000,- Bij T2 zorgen we goed voor elkaar en doen wij leuke dingen met leuke mensen. We zorgen voor uitdagende opdrachten zodat jij jezelf onbeperkt kan blijven ontwikkelen. Ben jij een ervaren systeembeheerder Cloud en wil je het beste uit jezelf halen? Dan ben je van harte welkom bij T2 en ontvang je onze welkomstbonus ter waarde van € 5.000,-. Er werken leuke mensen bij T2, die op een professionele en informele wijze met hun carrière en collega’s omgaan. Dat is de basis voor succes! Het is vanzelfsprekend dat je met de nieuwste technieken

Bekijk vacature »

Developer C# Infra Beheer

Bedrijfsomschrijving Voor een mooie organisatie die zich in de brache riching de technische / installatie techniek bevindt zijn wij opzoek naar een Software Developer met ervaring op het gebied van C#. Binnen deze organisatie zijn de IT rollen zeer breed en is het belangrijk dat je het leuk lijkt om buiten software ontwikkeling meer te betekenen voor de klanten en interne gebruikers. Als er iets mis is met de hardware of infrastructuur spring je bij en help je de gebruikers en klanten met hun vragen. Verder ontwikkel je aan toffe maatwerk software die zeer branche specialistisch is. Om die reden

Bekijk vacature »

Fullstack .NET Ontwikkelaar

Bedrijfsomschrijving Onze klant is Europees leider op het gebied van software voor één specifieke markt. Hierbij houden zij rekening met de unieke eigenschappen van deze business, om de klant zo veel mogelijk te ondersteunen/ontzorgen. Het gaat om een kleine organisatie waar korte lijnen, ontwikkeling en initiatief centraal staan. Op dit moment zijn zij op zoek naar een Fullstack .NET ontwikkelaar welke zich gaat richten op het onderhoud van de huidige software, maar vooral ook op de volledige vernieuwing van het pakket. Dit laatste zal een traject van meerdere jaren zijn, gezien de complexiteit en de omvang van de software. Daarnaast

Bekijk vacature »

New business developer

You will start working as new business developer for the German, Swiss and Austrian market. You will receive a direct contract from the company. It is a fulltime job for 35 hours a week. Salary is based on previous experience. What we offer Salary based on experience Contract from company itself Who you are Do you recognize yourself in the following? You have at least a Bachelor degree in marketing Experience in a similar position Native speaker in German Excellent analytical and research skills Pro-active and result minded with teamwork skills What will you do You will start working as

Bekijk vacature »

.NET Developer PACS / Multimedia

Wil jij met jouw ontwikkelskills medisch specialisten het optimale uit beeldmateriaal laten halen? Dan is dit jouw droombaan! Ter versterking van ons PACS-team in Amsterdam zoeken wij een ontwikkelaar die verantwoordelijkheid krijgt over zijn ‘eigen’ software. Jouw baan In deze functie ga je medische apparatuur (ECG\echo\OCT\MRI\Etc) integreren in ons EPD. Jij houdt je daarnaast bezig met het maken van software om de verschillende output-formaten van de apparatuur te ondersteunen en te presenteren aan medische specialisten. Tevens ben je verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van je eigen PACS-tools (Picture Archiving and Communication System). Die tools integreer je feilloos

Bekijk vacature »

Developer Integrations C# .NET

Developer Integration C# .NET Do you have a passion for C# .NET development? You make a difference as Developer Integration C# .NET by integrating several external systems with the internal platform. And so, you contribute to our respected international client who is the market leader in the manufacturing business. We are looking for a resourceful Developer Integration C# .NET who is able to set the standard within the team. Your impact as Developer Integration C# .NET You are responsible for the development and continuous improvement of 'integrations' across the IT landscape, as well as for the continuous improvement of the

Bekijk vacature »

Powercenter ontwikkelaar

Voor een klant zoek ik een Powercenter ontwikkelaar met minimaal 5 jaar ervaring. De klant is bezig met een niet (big)data platform dus als je daar ooit in betrokken bent geweest dan helpt dat enorm. Algemeen: - vanaf 32 uur - Utrecht (thuiswerken) - Nederlandstalig - 6 maanden contract met optie tot verlenging Ben jij een ETL ontwikkelaar en heb je vaak met Powercenter gewerkt? Stuur mij even een berichtje!

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Onze klant bouwt dynamisch en voornamelijk op .NET gebaseerde software voor diverse organisaties die zowel nationaal als internationaal opereren. De vestiging in Apeldoorn vormt onderdeel van een grotere organisatie met meerdere locaties in Nederland. De focus hier is om effectieve software te bouwen om data intensieve processen zo goed en overzichtelijk mogelijk te laten verlopen. Om dit soort processen goed te waarborgen en dat de juiste doelstellingen worden gehaald bieden zij velen oplossingen. Een voorbeeld hiervan is maatwerk mobile apps die gekoppeld worden aan zowel eigen software als die van diverse andere organisaties om de juiste data flows mogelijk

Bekijk vacature »

ETL Developer Datawarehouse

Wil jij je ETL-ontwikkelexpertise inzetten binnen de zorg? Dan is dit jouw baan! Je werkt vanuit de Crystal Tower in Amsterdam met de nieuwste Microsoft-technieken aan slimme oplossingen die zorgorganisaties helder inzicht geven in hun verbeterpunten. Jouw baan Onze datamodellen geven ziekenhuizen meer inzicht in hun huidige activiteiten en verwachte ontwikkelingen. Jij gaat deze complexe modellen verder uitbouwen én ontwikkelt en verbetert daarbij proactief de ETL in C# en SQL. Hierbij heb je alle ruimte om te sparren met (ervaren) collega-ETL-ontwikkelaars en werk je samen met onze BI-ontwikkelaars, software developers en consultants technische implementatie. Jouw team Je versterkt een gemotiveerd

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

19/01/2021 09:25:46
 
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.