You are not logged in.

wcf.regNote.message

Wild-Wolf

Beginner

  • "Wild-Wolf" started this thread

Posts: 8

  • Send private message

1

Saturday, March 26th 2005, 8:59pm

frage bei selbst gecodeten script

Ich habe mir n kleines script gecodet damit user sich bücher erscheinungen aus der db auslesen können.
jetzt habe ich aber folgendes prob.

wie erstelle ich ne install dafür um die tabelle zu instellen
wie mache eine add,edit und delete seite damit ich das net über phpmyadmin machen muss
aber mit passwort schutz?

und wie bekomme ich das weg das da nicht immer das hier auftauscht
wenn ich ohne ne eingabe auf suchen drücke?

PHP Source code

1
2
3
4
5
6
Manga Neuerscheinungen »  

Warningmysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/xxxx/html/scripts/mangadb/manga.php on line 70
 Keine Ergebnisse gefunden
Zurück 
  



das script sieht so aus:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
 <?PHP
    $db_server "localhost";
    $db_name "xxxx";
    $db_user "xxxx";
    $db_passwort "xxxx";

    $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
    $db_check = @MYSQL_SELECT_DB($db_name);

    //  Formular abgeschickt?
    if($_POST['action'] == "search") {

        //  PHP- und HTML-Tags entfernen
        foreach($_POST as $var => $val) {
            $$var trim(strip_tags($val));
        }

        //  Nach Manga suchen
        if(!empty($manga)) {
            $where "manga = '" $manga "'";
        //  Nach Art suchen
        } elseif(!empty($art)) {
            $where "art = '" $art "'";
        //  Nach Preis suchen
        } elseif(!empty($preis)) {
            $where "preis = '" $preis "'";
        // Nach Datum suchen
        } elseif(!empty($datum)) {
            $where "datum = '" $datum "'";
        }

        $sql "SELECT
                    manga,
                    art,
                    preis,
                    datum,
                    isbn
                FROM
                    at_mangadb
                WHERE " $where;
        $result mysql_query($sql);
    }

?>

<html>
<head>
<title>Manga Neuerscheinungen</title>

</HEAD>
<body>
<center>
<b>Im moment befinden sich noch keine Infos in der Datenbank</b>
</br></br>
<table  cellspacing="0" cellpadding="2" bordercolor="#000000" border="1" align="center" class="table">
<tr><td>
<table width="100%" border="0" cellspacing="2" cellpadding="3">
 <tr>
  <th colspan="2" align="left" class="head" valign="top">
   <b>Manga Neuerscheinungen &raquo;</b>
  </th>
 </tr>

 <?php
    //  Suche gestartet? -> Ergebnisse anzeigen
    if($_POST['action'] == "search") {
// Tabellenbeginn
   echo "<table  cellspacing=0 cellpadding=2 bordercolor=#000000 border=1 align=center class=table>";
        //  Keine Ergebnisse gefunden
        if(mysql_num_rows($result) == 0) {
            echo '<tr>';
            echo '<td colspan="2"><b>Keine Ergebnisse gefunden</b></br><a href=manga.php>Zurück</a></td>';
            echo '</tr>';

        //  Ergebnisse gefunden -> diese auflisten (muss von dir noch weiter ausgebaut werden, bis jetzt wird nur ISBN angezeigt)
        } else {
            while($row mysql_fetch_array($resultMYSQL_ASSOC)) {
                echo '<tr>';
                echo '<td><b>Manga:</b></td><td><b>Art:</b></td><td><b>Preis:</b></td>
                      <td><b>Datum:</b></td><td><b>ISBN:</b></td></tr>';
                echo '<tr>';
                echo '<td>' $row['manga'] . '</td>';
                echo '<td>' $row['art'] . '</td>';
                echo '<td>' $row['preis'] . '</td>';
                echo '<td>' $row['datum'] . '</td>';
                echo '<td>' $row['isbn'] . '</td>';
                echo '</tr>';
            }
        }
        // Tabellenende
   echo "</table>";

 ?>
 <tr>
    <td>
 <?php
    //  Sonst Formular anzeigen
    } else {
 ?>

<FORM ACTION="<?php $PHP_SELF ?>" METHOD="POST">
<input type="hidden" name="action" value="search">
 <tr>
  <TD><B>Buch:</B></TD>
<TD><INPUT TYPE="text" NAME="manga" class="tab" SIZE="30">
  </td>
 </tr>
 <TR><TD><B>Art Band, Artbook etc:</B></TD>
<TD><INPUT TYPE="text" NAME="art" class="tab" SIZE="30">
  </td>
 </tr>
 <TR><TD><B>Preis ca.:</B></TD>
<TD><INPUT TYPE="text" NAME="preis" class="tab" SIZE="30">
  </td>
 </tr>
 <TR><TD><B>Datum:</B></TD>
<TD> <INPUT TYPE="text" NAME="datum" class="tab" SIZE="30">
  </td>
 </tr>
 <tr>
 <TD><INPUT TYPE="submit" class="head" VALUE="Go !"></TD><TD><b>*Eine Angbe reicht.</br></TD></TR>
  </td>
 </tr>
 </form>

 <?php
    }
 ?>

</table>
</td></tr>
</table>
</body>
</html> 

bauser

Intermediate

Posts: 384

Occupation: Senior Software Engineer

  • Send private message

2

Tuesday, March 29th 2005, 9:10am

wenn du mit install meinst, dass du die tabelle in einer nackten datenbank nicht jedesmal per hand erstellen musst, gibt es bei mySQL vielleicht auch die möglichkeit ein sql file auf eine datenbank auszuführen. das heisst du erstellst deine CREATE TABLE anweisung in einer datei, die du dann wieder und wieder zum erstellen der tabelle brauchen kannst.

der fehler sagt halt, dass $result kein gültiges Result ist. probier am besten mal ob du das statement was du ausführen willst in der konsole ausführen kannst und was er dir da als fehler liefert.
I'm Tony Menthanar! You fuck wit me, you fuckin' wit da best!

xundy

Beginner

Posts: 37

  • Send private message

3

Tuesday, April 5th 2005, 6:26am

eigentlich müsste schon beim Query nen fehler kommen, warum der erst beimysql_num_rows kommt verstehe ich im Moment gerade auch nicht:(

Das Problem wird sein, das du keine Alternative übergibst wenn die Variablen leer sind!

Dann steht nur WHERE ohne eine Bedingung in deiner Abfrage und damit wird das Query kein ergebnis liefern somit ist natürlich $result auch kein gültiges Argument!.

Ausserdem wenn du mehrere werte übergibst dann wird nur nach dem letzten gefüllten wert gesucht da du $where immer wider überschreibst.

mfg

This post has been edited 1 times, last edit by "xundy" (Apr 5th 2005, 6:30am)


wcf.user.socialbookmarks.titel