| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| FAQ lesen! 11.1. Wie übergebe ich Variablen aus einem Formular an ein PHP-Script? http://www.php-faq.de/q/q-formular-variablen.html |
| | |
| Gast
Beiträge: n/a
| das habe ich bereits. und das funzt auch. aber nur wenn ich nix eingebe. gebe ich was ein is die blätterfunktion verschwunden, deswegen... Code: <form method="POST" action="suchergebnisse.php">
<table width="339" border="0" align="center">
<tr>
<td width="270"><span class="Stil5 Stil8"><input name="radiobutton" type="radio" value="1" checked>
Titel
<input type="radio" name="radiobutton" value="2">
</span><span class="Stil5 Stil2">Interpret</span></td>
<td width="59"></td>
</tr>
Code: <?php if($_POST['radiobutton'] == "1") include "suchergebnisse1.php"; else include "suchergebnisse2.php"; ?> Code: <?
// Verbindung zur Datenbank herstellen
include("../connect.php");
$Zeilen_pro_Seite = 20;
?>
<?php
if (!isset($Anfangsposition)) {
$Anfangsposition = 0;
}
?>
<?php
$sql="select * from lyrics where titel LIKE '%$titel%'
limit $Anfangsposition,$Zeilen_pro_Seite";
$result=mysql_query($sql);
$result1=mysql_query("select * from lyrics where titel LIKE '%$titel%'");
$Anzahl=mysql_num_rows($result1);
while ($row=mysql_fetch_array($result)) {
$feld1=$row["name"];
$feld2=$row["titel"];
// Daten anzeigen. In der Praxis wird man hier eher eine Tabelle einbauen.
echo $row["name"]." ";
echo ''.$row["titel"].''."
";
}
echo "
";
?>
<?php
if($Anfangsposition > 0) {
echo "<a href=\'suchergebnisse.php?Anfangsposition=0'>[erste Seite]</a>"; echo " ";
$back=$Anfangsposition-$Zeilen_pro_Seite;
if($back < 0) {
$back = 0;
}
echo "<a href=\"suchergebnisse.php?Anfangsposition=$back\">[eine Seite zurück]</a>"; echo " ";
}
?>
<?php
if($Anzahl>$Zeilen_pro_Seite) {
$Seiten=intval($Anzahl/$Zeilen_pro_Seite);
if($Anzahl%$Zeilen_pro_Seite) {
$Seiten++;
}
}
?>
<?php
for ($i=1;$i<=$Seiten;$i++) {
$fwd=($i-1)*$Zeilen_pro_Seite;
echo "<a href=\"suchergebnisse.php?Anfangsposition=$fwd\">$i</a>"; echo " ";
}
?>
<?php
if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
$fwd=$Anfangsposition+$Zeilen_pro_Seite;
echo "<a href=\"suchergebnisse.php?Anfangsposition=$fwd\">[eine Seite weiter]</a>"; echo " ";
$fwd=$Anzahl-$Zeilen_pro_Seite;
echo "<a href=\"suchergebnisse.php?Anfangsposition=$fwd\">[letzte Seite]</a>"; echo " ";
}
?>
[/code] |
| | |
| Erfahrener Benutzer Registriert seit: 24.12.2004
Beiträge: 1.818
![]() | gibt's denn eigentlich ein tutorial zu 'richtig debuggen'? wäre schön, denn man könnte sich einiges an tipperei im anfängerbereich sparen. ich hätte noch einen alternativ- bzw. komplementärvorschlag zum debugging: 1. man bemerkt, dass ein skript nicht das tut, was es soll. 2. man schreibt die kleinstmögliche/einfachstmögliche funktion, die den original-code 'benutzt' und den fehler hervorruft. 3. man achtet darauf, dass die funktion fehlschlägt. 4. erst dann korrigiert man den code unter verwendung von phpfans algorihmus. 5. man korrigiert so lange, bis die test-funktion nicht mehr fehlschlägt. 6. sollten während des debugging weitere fehler auftauchen, lässt man sich davon nicht ablenken, sondern macht einen @TODO - kommentar an die besagte stelle und sucht trotzdem nur nach dem eigentlichen fehler. 7. man richtet die funktion derart ein, dass man sie mit einem einzigen klick verwenden kann. 8. während der weiteren entwicklung ruft man den test-code immer wieder auf, und guckt, dass alle tests, die man geschrieben hat, nicht mehr fehlschlagen. vorteile: 1. oft / fast immer ist es so, dass man einen fehler findet, danach an einer anderen stelle arbeitet und den selben fehler wieder in den code einbringt. das ist mit dieser test-methode nicht mehr möglich, denn die 'alten tests' werden immer wieder während der entwicklung mit extrem hoher frequenz aufgerufen - oft im 10-minuten-takt. wenn ein alter test fehlschlägt, kann die ursache nur im code sein, den man in den letzten 10 minuten geschrieben hat. 2. diese test-methode ist sehr einfach. 3. optimalerweise implementiert man neue features/funktionalitäten gleich indem man erst test-code schreibt und dann erst die funktion implementiert, die die im test geforderte funktionalität aufweist. 4. man schreibt dadurch stabileren, transparenteren code 5. der 'arbeits'-code lässt sich leichter ändern -> refactoring. 6. die zusätzliche zeit, die man ins schreiben von test-code investiert, spart man beim debugging wieder ein - weil man die fehlerhafte stelle im code deutlich leichter eingrenzen kann. 7. man gewinnt vertrauen ins eigene können und ist weniger frustriert - ein nicht-fehlschlagender test bestätigt, dass man voraussichtlich vieles richtig gemacht hat. und falls man was falsch gemacht hat und trotzdem alle tests 'durchkommen', kann man einen neuen test schreiben, der den neuen fehler aufdeckt und diesen dann korrigieren. womit man den eigenen code wieder stärker gemacht hat. 8. der 'arbeitende' code ist nicht mehr so stark mit debug-bedingungen etc. verschmutzt schlüsselwörter: phpUnit, test driven developement, unit tests, refactoring, extreme programming. grüße axo |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.