Problem in MySQL und PHP - Bremengo - 10.07.2014 07:54
Guten Morgen,
ich habe ein kleines Problem mit der foreach-Schleife in PHP.
Es wurde zwar die Tabelle ausgegeben auch ohne Fehlermeldung,
aber in den einzeönen Bereichen wird Sie nicht Sortiert, wenn man auf die pfeile klickt. Sie wird einfach normal ausgegeben.
Weiss jemand wo meine Fehler ist,
bin schon am verzweifeln.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> <title>CD-Verwaltung</title> <?php include ("nav.html"); ?> </head> <body background="" text='#FFFFFF' alink='#FFFFFF' vlink='#FFFFFF' link='#FFFFFF'>
<form name="suche" method="post" action="suche.php"> <p align="center"> <b>Suche: </b> <br> <input name=suche type="text" onfocus="if(this.value=='Suche nach Titel/Interpret!') this.value='';" onblur="if(this.value=='') this.value='Suche nach Titel/Interpret!';" value="Suche nach Titel/Interpret!" size="30" class="inputbox" maxlength="30"> </p>
<p align="center"> <input type="submit" value="Suchen"> <input type="reset" value="Abrrechen"></p> </form>
<?php include ("verbindung.php"); ?>
<h1><p align="center"><b>Die Pfeile neben den jeweiligen Kategorien helfen dir bei der Sortierung!</b></p></h1>
<?php $sql="SELECT id FROM cdverwaltungneu";
if ($result=mysqli_query($db,$sql)) { // Return the number of rows in result set $rowcount=mysqli_num_rows($result); printf("<p align='center'>". "Insgesamt hast du %d CD's eingetragen\n",$rowcount ."</p>"); // Free result set mysqli_free_result($result); } ?>
<table border="1" align="center"> <tr> <td><a href="ausgabe.php?id"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?iddesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>ID</b></td> <td><a href="ausgabe.php?titel"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?titeldesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>Titel</b></td> <td><a href="ausgabe.php?interpret"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?interpretdesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>Interpret</b></td> <td><a href="ausgabe.php?datum"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?datumdesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>Datum</b></td> </tr>
<?php foreach ($_GET as $key => $value) { switch ($key) { case "id": $sql = "SELECT * FROM cdverwaltungneu ORDER BY id ASC"; case "iddesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY id DESC"; case "titel": $sql = "SELECT * FROM cdverwaltungneu ORDER BY titel ASC"; case "titeldesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY titel DESC"; case "interpret": $sql = "SELECT * FROM cdverwaltungneu ORDER BY interpret ASC"; case "interpretdesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY interpret DESC"; case "datum": $sql = "SELECT * FROM cdverwaltungneu ORDER BY datum ASC"; case "datumdesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY datum DESC"; case "main": $sql = "SELECT * FROM cdverwaltungneu"; default: $sql = "SELECT * FROM cdverwaltungneu"; } $db_erg = mysqli_query( $db, $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysqli_error()); } while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC)) { echo "<tr>"; echo "<td>". $zeile['id'] . "</td>"; echo "<td>". $zeile['titel'] . "</td>"; echo "<td>". $zeile['interpret'] . "</td>"; echo "<td>". $zeile['datum'] . "</td>"; echo "</tr>"; } echo "</table>";
mysqli_free_result( $db_erg ); } ?>
</body> </html>
Danke im vorraus.
Mfg,
Sebastian.
RE: Problem in MySQL und PHP - tkausl - 10.07.2014 08:00
ausgabe.php?id
id ist hierbei kein richtiger QueryParameter, du müsstest dir den kompletten QueryString holen.
Ich würde es aber eher so machen:
ausgabe.php?orderby=id&order=ASC
RE: Problem in MySQL und PHP - Bremengo - 10.07.2014 08:08
Danke schonmal, aber wo steckt da der get_parameter?
Wie mache ich das bei ausgabe.php?iddesc
RE: Problem in MySQL und PHP - tkausl - 10.07.2014 08:16
<?php
$orderby = isset($_GET['orderby']) && in_array($_GET['orderby'], array('id', 'titel', 'interpret', 'datum'))?$_GET['orderby']:'id'; $order = isset($_GET['order']) && $_GET['order'] == 'desc'?'desc':'asc';
$sql = "SELECT * FROM cdverwaltungneu ORDER BY " . $orderby . " " . $order;
?> <!-- Hier ne Beispielverlinkung: --> <td><a href="ausgabe.php?orderby=titel&order=<?= $orderby=='titel'&&$order='asc'?'desc':'asc'; ?>"><img src="bilder/pf-<?= $orderby=='titel'&&$order='asc'?'ob':'un'; ?>.gif.png" width="18" height="18"></a> <b>Titel</b></td>
E: Wenn du an deinem aktuellen Script festhalten willst musst du $_SERVER['QUERY_STRING'] nutzen.
RE: Problem in MySQL und PHP - Bonyamin - 10.07.2014 15:55
Tipp:http://www.php.net/manual/de/reserved.variables.get.php
Da findest du auch echt alles, was du zum Programmieren brauchst. Als Entwickler - und da ist man als PHP Entwickler sicher auch gut verwöhnt mit - ist dein erster Rat das PHP Manual. Hilft dir das nicht weiter, dann fragt man wo anders. Als guter PHP programmierer weiß man das dann
RE: Problem in MySQL und PHP - Bremengo - 10.07.2014 17:44
Hallo,
habe nun alles hinbekommen.
Wie ihr vielleicht schon mitbekommen habt, durch meine ganzen anderen Beiträge, soll ich eine cd-verwaltung entwickeln.
Die Ausgabe, Eingabe, etc. klappt, wunderbar.
Bis morgen soll ich, aber eine Detailausgabe entwickeln, d.h. das eine Cd alleine angezeigt wird. Normal ist dies kein Problem, aber es soll wie folgt sein:
Wenn man in der Ausgabe der CD-Ansicht ist, soll man auf die CD raufklicken und man kommt zur einzel Ansicht. Das Problem, dabei ich habe absolut kein Plan, wie ich das machen soll.
Ich hoffe ihr könnt mir weiterhelfen.
Als Gegenleistung biete ich euch eine positive Bewertung, SB-Punkte auf Absprache und ein Danke!
Schon mal vielen Dank im voraus und ich hoffe ihr wisst darüber mehr Bescheid, als ich.
Hier das Ausgabe-Script:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> <title>CD-Verwaltung</title> <?php include ("nav.html"); ?> </head> <body background="" text='#FFFFFF' alink='#FFFFFF' vlink='#FFFFFF' link='#FFFFFF'>
<form name="suche" method="post" action="suche.php"> <p align="center"> <b>Suche: </b> <br> <input name=suche type="text" onfocus="if(this.value=='Suche nach Titel/Interpret!') this.value='';" onblur="if(this.value=='') this.value='Suche nach Titel/Interpret!';" value="Suche nach Titel/Interpret!" size="30" class="inputbox" maxlength="30"> </p> <p align="center"> <input type="submit" value="Suchen"> <input type="reset" value="Abrrechen"></p> </form>
<?php include ("verbindung.php"); ?>
<h1><p align="center"><b>Die Pfeile neben den jeweiligen Kategorien helfen dir bei der Sortierung!</b></p></h1>
<?php $sql="SELECT id FROM cdverwaltungneu";
if ($result=mysqli_query($db,$sql)) { // Return the number of rows in result set $rowcount=mysqli_num_rows($result); printf("<p align='center'>". "Insgesamt hast du %d CD's eingetragen\n",$rowcount ."</p>"); // Free result set mysqli_free_result($result); } ?>
<table border="1" align="center" width="600px"> <tr class=tablerow> <td><a href="ausgabe.php?id"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?iddesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>ID</b></td>
<td><a href="ausgabe.php?titel"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?titeldesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>Titel</b></td>
<td><a href="ausgabe.php?interpret"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?interpretdesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>Interpret</b></td>
<td><a href="ausgabe.php?datum"><img src="bilder/pf-ob.gif.png" width="18" height="18"></a> <a href="ausgabe.php?datumdesc"><img src="bilder/pf-un.gif" width="18" height="18"></a> <b>Datum</b></td> </tr>
<?php foreach ($_GET as $key => $value) {
switch ($key) { case "id": $sql = "SELECT * FROM cdverwaltungneu ORDER BY id ASC"; break; case "iddesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY id DESC"; break; case "titel": $sql = "SELECT * FROM cdverwaltungneu ORDER BY titel ASC"; break; case "titeldesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY titel DESC"; break; case "interpret": $sql = "SELECT * FROM cdverwaltungneu ORDER BY interpret ASC"; break; case "interpretdesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY interpret DESC"; break; case "datum": $sql = "SELECT * FROM cdverwaltungneu ORDER BY datum ASC"; break; case "datumdesc": $sql = "SELECT * FROM cdverwaltungneu ORDER BY datum DESC"; break; case "main": $sql = "SELECT * FROM cdverwaltungneu"; break; default: $sql = "SELECT * FROM cdverwaltungneu"; break;
}
$db_erg = mysqli_query( $db, $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysqli_error()); } while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC)) { echo "<tr>"; echo "<td>". $zeile['id'] . "</td>"; echo "<td>". $zeile['titel'] . "</td>"; echo "<td>". $zeile['interpret'] . "</td>"; echo "<td>". $zeile['datum'] . "</td>"; echo "</tr>"; } echo "</table>";
mysqli_free_result( $db_erg );
} ?>
</body> </html>
RE: Problem in MySQL und PHP - tkausl - 10.07.2014 17:46
echo "<td>". $zeile['titel'] . "</td>";
zu
echo "<td><a href='cd.php?id=".$zeile['id']."'>". $zeile['titel'] . "</a></td>";
RE: Problem in MySQL und PHP - Bremengo - 10.07.2014 18:11
Ok Danke, das klingt ja schon mal gut, aber was soll den in die, dann sogenannte cd.php rein, da dort ja die einzelne cd ausgegeben werden soll und woher weiss der welche cd ausgegeben werden soll?
RE: Problem in MySQL und PHP - tkausl - 10.07.2014 18:15
Deswegen ja der GET-Parameter.
Es scheint, als hättest du nichtmal die Grundlagen drauf. So kommen wir nicht wirklich weiter.
Bis morgen soll ich, aber eine Detailausgabe entwickeln
Für wen?
RE: Problem in MySQL und PHP - Bremengo - 10.07.2014 18:21
Wir sollen das für die Schule entwickeln, da lernen wir das gerade. Verstehe ich da, aber auch nicht. Darum hoffe ich ja hier auf positive/hilfreiche Unterstützung, da ich schon absolut am verzweifeln bin.
RE: Problem in MySQL und PHP - Bremengo - 14.07.2014 13:33
Guten Tag,
weiss jemand wie ich eine SQL-Abfrage in einem Array ab speichern kann.
Mein Code:
<?php $erg = mysql_query("SELECT * FROM cdverwaltungneu"); $arr = mysql_fetch_array($erg); ?>
Folgende Fehlermeldung:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in....
Bitte um Hilfe,
danke im Vorraus.
RE: Problem in MySQL und PHP - Bonyamin - 14.07.2014 13:48
Wir sollen das für die Schule entwickeln, da lernen wir das gerade. Verstehe ich da, aber auch nicht. Darum hoffe ich ja hier auf positive/hilfreiche Unterstützung, da ich schon absolut am verzweifeln bin.
Du strengst dich doch auch keine Sekunde an!
Guten Tag,
weiss jemand wie ich eine SQL-Abfrage in einem Array ab speichern kann.
Mein Code:
<?php $erg = mysql_query("SELECT * FROM cdverwaltungneu"); $arr = mysql_fetch_array($erg); ?>
Folgende Fehlermeldung:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in....
Bitte um Hilfe,
danke im Vorraus.
ALTER! Jetzt mal ernsthaft. Du bist beratungsressistent UND lehnst hilfe ab die man anbietet. Ich habe angeboten das ich dir da unter die Arme greife beim lernen. Und wenn du dir nicht schleunigst merkst, das es die Seite [Link: Registrierung erforderlich] gibt. Dann hilft dir hier bald niemand mehr!
Hilfreich wäre übrigens dein ganzer Code im Bezug auf das Herstellen der Datenbankvebrindung etc. $erg könnte leer sein. Wenn du nun 2 Sekunden gegoogelt hättest: mysql_error() ist dein Hilfsmittel. Und wehe irgendwer muss dir das noch erklären.
RE: Problem in MySQL und PHP - Bremengo - 15.07.2014 11:42
Gibt es eine Möglichkeit einen Array nach Feldname zu sortieren?
Man Kann ja:
asort ($daten); //aufsteigend
arsort ($daten) //absteigend
NUn möchte ich dort, aber auch noch den Feldnamen einabauen.
RE: Problem in MySQL und PHP - tkausl - 15.07.2014 11:48
ksort()?
[Link: Registrierung erforderlich]
|