foutmeldig bij lege database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Net-marker

net-marker

24/04/2006 19:38:00
Quote Anchor link
hallo ik heb het onderstaand script waarmee ik informatie uit mijn database haal. Werkt prima, alleen als er geen foto is toegevocht in de database dan krijg ik foutmeldingen.

Warning: Division by zero in

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
<?php
$result
= listAll();
if(mysql_num_rows($result) == 0){
    
    echo("<tr style='font-style:italic;'><td>Er zijn geen weer te geven items</td></tr>");

}

for($i=0;$i<8;$i++){
    $a = 0;
    $result = listByType($i);
        switch ($i){
    case
0:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Gipsen</td></tr>");
        break;
    case
1:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Andere replica's</td></tr>");
        break;
    case
2:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Art Deco lampen</td></tr>");
        break;
    case
3:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - Leerdam</td></tr>");
        break;
    case
4:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - Maastricht</td></tr>");
        break;
    case
5:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - internationaal</td></tr>");
        break;
    case
6:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Meubelen</td></tr>");
        break;
    case
7:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Diversen</td></tr>");
        break;
        }
    
        }


    while(list($id, $naam, $code, $prijs, $omschrijving, $foto, $type) = mysql_fetch_row($result)){

        $omschrijving = stripslashes($omschrijving);
        if($a==0){
            $bgcolor="#b3b3b3";
            $a++;
        }
else {
            $bgcolor="#ffffff";
            $a--;
        }

        echo("<tr style='background-color:". $bgcolor. ";' height='20' >
                <td> $naam </td>
                <td> $code </td>
                <td> $prijs </td>
                <td><a href='modify.php?id=$id'><img src='pictures/change.png' border='0' alt='Bewerken'></a></td>
                <td><a href='scripts/remove_item.php?id=$id'><img src='pictures/remove.png' border='0' alt='verwijderen'></a></td>
                <td><img src='../images/$foto' width='"
. parseDimensions($foto,25,'w'). "'  height='". parseDimensions($foto,25,'h'). "'></td>
        </tr>"
);
    }
}

?>



Kan dit met een else functie worden opgelost? Zo ja hoe moet ik dat doen?
 
PHP hulp

PHP hulp

16/11/2024 13:38:15
 
Arjan Kapteijn

Arjan Kapteijn

24/04/2006 19:40:00
Quote Anchor link
Dat komt omdat je wel het script uitvoerd als er niks in de database staat..

Je zou een if/else kunnen gebruiken ipv enkel een if.

if(rijen = 0)
{
foutmelding
}else{
doorgaan
}
 
R

R

24/04/2006 19:54:00
Quote Anchor link
ik weet niet hoe jij die foto erin zet maar als je dat ook met een upload script ofzo doet dan zou je erbij kunnen zetten dat wanneer die foto geupload is dat hij dan

$result = mysql_query("update tabel SET foto='1'")

hiervoor moet je dan in de db een veld foto maken... en wanneer die op 0 staat heb je geen foto,, en wanneer hij op 1 staat heb je er wel een..

en dan kan je in je script zoiets erbij zetten...

if ($row[foto] == "1")
{
<img src=blabla foto.gif etc..>
}
else
{
echo "geen foto"
}
Gewijzigd op 01/01/1970 01:00:00 door R
 
Net-marker

net-marker

24/04/2006 21:36:00
Quote Anchor link
Arjan:
Dat komt omdat je wel het script uitvoerd als er niks in de database staat..

}


Maar dat moet dan toch ook omdat anders de rest van de info niet wordt wergegeven.

Je kan voor de duidleijheid even kijken op
http://ubee-ht.nl/SBM/test/cms/

moet ik de else functie aansluiten onder
$result = listAll();
if(mysql_num_rows($result) == 0){

echo("<tr style='font-style:italic;'><td>Er zijn geen weer te geven items</td></tr>");

doen?
 
Net-marker

net-marker

24/04/2006 22:00:00
Quote Anchor link
wat ik zo raar vind is dat ik het heb gecopieerd van een werkend swcript dat deze problemen niet vertoond.

dit is mijn upload script

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
<?php
include("connect.php");
if(!empty($_POST)){
    $naam =    $_POST["naam"];
    $code = $_POST["code"];
    $prijs = $_POST["prijs"];
    $omschrijving = addslashes($_POST["omschrijving"]);
    $type = $_POST["type"];
    $query = "INSERT INTO artikel VALUES ('','" .$naam. "','". $code. "','". $prijs. "','". $omschrijving. "','','". $type. "');";
    $result = mysql_query($query) or die(mysql_error());
}

$ThisFileName = basename(__FILE__); // get the file name
$path = str_replace("/cms/scripts/".$ThisFileName,"",__FILE__);   // get the directory path
$upload_dir = $path. "/images/"; // be shure php has access to this dir (chmod)
$new_file   = $upload_dir."/".$_FILES['userfile']['name'];
if ($_POST['upload'] == "Upload") {
    if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
        move_uploaded_file($_FILES['userfile']['tmp_name'], $new_file) or
        print "could not store $new_file ";
        chmod ($upload_dir. $_FILES['userfile']['name'], 0777);  
        $query = "UPDATE artikel SET foto = '". $_FILES['userfile']['name']. "' WHERE naam = '". $naam. "' AND code = '". $code. "';";
        $result = mysql_query($query) or die(mysql_error());
        header("location: ../index.php");
    }
else {
       switch ($_FILES['userfile']['error']) {
    case
0:
        print "<a href='#' onClick='history.back()'>Terug</a><br>!is_uploaded_file.., no file upload?<br><a href='../index.php'> Gewoon verder gaan!</a> ";
        break;
    case
1:
        print "<a href='#' onClick='history.back()'>Terug</a><br>De file dat u probeerd te uploaden is te groot. bewerk het bestand en probeer het opnieuw (max 50 mb); size limit set by php.ini<br><a href='../index.php'> Gewoon verder gaan!</a> ";
        break;
    case
2:
        print "<a href='#' onClick='history.back()'>Terug</a><br>De file dat u probeerd te uploaden is te groot. bewerk het bestand en probeer het opnieuw (max 50 mb); size limit set by MAX_FILE_SIZE<br><a href='../index.php'> Gewoon verder gaan!</a> ";
        break;
    case
3:
        print "<a href='#' onClick='history.back()'>Terug</a><br>file is partially uploaded <br><a href='../index.php'> Gewoon verder gaan!</a>";
        break;
    case
4:
        print "<br><strong> U heeft geen foto aan dit artikel toegevoegt </strong><br><a href='#' onClick='history.back()'>Terug </a>(informatie niet versturen maar opnieuw bewerken / foto toevoegen) <br><a href='../index.php'> Door gaan </a> (artikel plaatsen op website zonder foto)";
        break;
    default:

        print "<br>Onbekende foutmelding<br><a href='#' onClick='history.back()'>Terug</a>(informatie niet versturen maar opnieuw bewerken)<a href='../index.php'> Gewoon verder gaan!</a> (artikel plaatsen op website zonder 100% foutcontrole. Controleer of het artikel is geplaast)";
       }
   }
}




?>
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

24/04/2006 22:55:00
Quote Anchor link
Zet eens boven aan je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(0);
?>


dan is je error weg...

Let op: dit niet altijd gebruiken, alleen als je geen errors wilt en je je script uitvoerig hebt getest..
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
PHP Newbie

PHP Newbie

24/04/2006 22:56:00
Quote Anchor link
Daar doen we niet aan hé Andries :-p
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

24/04/2006 22:57:00
Quote Anchor link
Tja, het is de makkelijkste weg :p, z'n probleem is gelijk opgelost.. :p
 
Net-marker

net-marker

24/04/2006 23:03:00
Quote Anchor link
Maar dan worden andere foutmeldingen ook niet meer weergegeven toch.
Kan iemand mij anders helpen met die else fuctie. Ik wil het toch graag proberen, maar ik zou echt niet weten hoe ik dat exact moet doen
 
PHP Newbie

PHP Newbie

24/04/2006 23:26:00
Quote Anchor link
komt hier op neer:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
if(//database is leeg)
{
echo 'leeg';
}

else
{
//voer het weergeven uit
}
?>
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

24/04/2006 23:29:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$sql
= mysql_query("SELECT * FROM artikel");
if(!$sql)
{

echo 'leeg';
}

else
{
//voer het weergeven uit
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
Net-marker

net-marker

25/04/2006 15:59:00
Quote Anchor link
oke dan moet het dus uiteindleijk zo worden

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
<?php
$sql
= mysql_query("SELECT foto FROM artikel");
if(!$sql)== 0)
{

echo 'leeg';
}

else
{
//dan hier het gedeelte van $result = listAll();

}

klopt dit??
?>
 
- wes  -

- wes -

25/04/2006 16:01:00
Quote Anchor link
nog makkelijker:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
$sql
= 'SELECT foto FROM artikel';
$res = mysql_query($sql);

if ($res && mysql_num_rows($res) >= 1)
{

//je ding
}
?>
 
Erik Rijk

Erik Rijk

25/04/2006 16:02:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
$sql
= mysql_query("SELECT foto FROM artikel");
$res = mysql_num_rows($sql);

if($res == 0)
{

    echo 'leeg';
}
else {
    // while loop om resultaten op te halen.
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
 
Net-marker

net-marker

25/04/2006 16:52:00
Quote Anchor link
maar als er dus nu bij 1 rij in mijn tabel geen content staat vermeld krijg ik dus helemaal niks meer te zien
 
Net-marker

net-marker

25/04/2006 20:05:00
Quote Anchor link
ik heb bij de geprobeerd. Ik heb ze bijde op deze wijze in mijn script gezet. Maar het heeft verder geen enkel effect

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php

$sql
= 'SELECT foto FROM artikel';
$res = mysql_query($sql);

if ($res && mysql_num_rows($res) >= 1)
{



$result = listAll();
if(mysql_num_rows($result) == 0){
    
    echo("<tr style='font-style:italic;'><td>Er zijn geen weer te geven items</td></tr>");

}

for($i=0;$i<8;$i++){
    $a = 0;
    $result = listByType($i);
        switch ($i){
    case
0:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Gipsen</td></tr>");
        break;
    case
1:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Andere replica's</td></tr>");
        break;
    case
2:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Art Deco lampen</td></tr>");
        break;
    case
3:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - Leerdam</td></tr>");
        break;
    case
4:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - Maastricht</td></tr>");
        break;
    case
5:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - internationaal</td></tr>");
        break;
    case
6:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Meubelen</td></tr>");
        break;
    case
7:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Diversen</td></tr>");
        break;
        }

    

    while(list($id, $naam, $code, $prijs, $omschrijving, $foto, $type) = mysql_fetch_row($result)){

        $omschrijving = stripslashes($omschrijving);
        if($a==0){
            $bgcolor="#b3b3b3";
            $a++;
        }
else {
            $bgcolor="#ffffff";
            $a--;
        }

        echo("<tr style='background-color:". $bgcolor. ";' height='20' >
                <td> $naam </td>
                <td> $code </td>
                <td> $prijs </td>
                <td><a href='modify.php?id=$id'><img src='pictures/change.png' border='0' alt='Bewerken'></a></td>
                <td><a href='scripts/remove_item.php?id=$id'><img src='pictures/remove.png' border='0' alt='verwijderen'></a></td>
                <td><img src='../images/$foto' width='"
. parseDimensions($foto,25,'w'). "'  height='". parseDimensions($foto,25,'h'). "'></td>
        </tr>"
);
    }
}
}

?>
 
Net-marker

net-marker

25/04/2006 21:28:00
Quote Anchor link
kan iemand me nog een tip geven hoe ik nu verder moet??
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

25/04/2006 21:35:00
Quote Anchor link
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
        echo("<tr style='background-color:". $bgcolor. ";' height='20' >
                <td"
. $naam . "</td>
                <td>"
. $code . "</td>
                <td>"
. $prijs . "</td>
                <td><a href='modify.php?id="
. $id . "'><img src='pictures/change.png' border='0' alt='Bewerken'></a></td>
                <td><a href='scripts/remove_item.php?id="
. $id . "'><img src='pictures/remove.png' border='0' alt='verwijderen'></a></td>");
if(isset($foto) AND !empty($foto))
{

echo("<td><img src='../images/" . $foto . "' width='". parseDimensions($foto,25,'w'). "'  height='". parseDimensions($foto,25,'h'). "'></td>");
}

else
{
echo("<td>Geen foto beschikbaar.</td>");
}

echo("</tr>");
?>

dat stukje moet in plaats van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
        echo("<tr style='background-color:". $bgcolor. ";' height='20' >
                <td> $naam </td>
                <td> $code </td>
                <td> $prijs </td>
                <td><a href='modify.php?id=$id'><img src='pictures/change.png' border='0' alt='Bewerken'></a></td>
                <td><a href='scripts/remove_item.php?id=$id'><img src='pictures/remove.png' border='0' alt='verwijderen'></a></td>
                <td><img src='../images/$foto' width='"
. parseDimensions($foto,25,'w'). "'  height='". parseDimensions($foto,25,'h'). "'></td>
        </tr>"
);
?>


Dan krijg je keurig: Geen foto beschikbaar
Als er geen foto is..
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

25/04/2006 21:38:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
$result
= listAll();
if(mysql_num_rows($result) == 0){
    
    echo("<tr style='font-style:italic;'><td>Er zijn geen weer te geven items</td></tr>");

}

for($i=0;$i<8;$i++){
    $a = 0;
    $result = listByType($i);
        switch ($i){
    case
0:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Gipsen</td></tr>");
        break;
    case
1:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Andere replica's</td></tr>");
        break;
    case
2:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Lampen - Art Deco lampen</td></tr>");
        break;
    case
3:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - Leerdam</td></tr>");
        break;
    case
4:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - Maastricht</td></tr>");
        break;
    case
5:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Glas - internationaal</td></tr>");
        break;
    case
6:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Meubelen</td></tr>");
        break;
    case
7:
        echo("<tr style='background-color:#e10000; font-weight:bold;'><td colspan='6'>Diversen</td></tr>");
        break;
        }

    

    while(list($id, $naam, $code, $prijs, $omschrijving, $foto, $type) = mysql_fetch_row($result)){

        $omschrijving = stripslashes($omschrijving);
        if($a==0){
            $bgcolor="#b3b3b3";
            $a++;
        }
else {
            $bgcolor="#ffffff";
            $a--;
        }

        echo("<tr style='background-color:". $bgcolor. ";' height='20' >
                <td"
. $naam . "</td>
                <td>"
. $code . "</td>
                <td>"
. $prijs . "</td>
                <td><a href='modify.php?id="
. $id . "'><img src='pictures/change.png' border='0' alt='Bewerken'></a></td>
                <td><a href='scripts/remove_item.php?id="
. $id . "'><img src='pictures/remove.png' border='0' alt='verwijderen'></a></td>");
if(isset($foto) AND !empty($foto))
{

echo("<td><img src='../images/" . $foto . "' width='". parseDimensions($foto,25,'w'). "'  height='". parseDimensions($foto,25,'h'). "'></td>");
}

else
{
echo("<td>Geen foto beschikbaar.</td>");
}

echo("</tr>");
    }
}

?>

Moet het hele script worden...
 
Net-marker

net-marker

25/04/2006 22:14:00
Quote Anchor link
Ik krijg helaas nu de melding

Fatal error: Call to undefined function: listall() in /usr/home/n1087/domains/ubee-ht.nl/public_html/SBM/test/cms/index.php on line 2

als ik

$result = listAll();
if(mysql_num_rows($result) == 0){

weg laat werkt die count niet meer. wat moet ik hier aan veranderen om het eindelijk werkend te krijgen??
 



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.