Suchergebnisse <1>

Ich habe gedacht dass ich den script verändern muss weil SPiKEe
Ist klar das du da Probleme bekommst : das ist ein Float ... dein ganzes Script ist aber nur für Integer ausgelegt ... ändere es entsprechend.
geschrieben hat aber ich weiss nicht was float und Interger ist und wie mann es ändert.
 
Ganz erlich : das zeigt nur das du NULL Grundlagen hast ... weder was PHP angeht noch generell mit Programmieren noch das Verständnis wie ein PC arbeitet.
Ich empfehle dir die beiden PHP-Bücher von SeeBi http://seebi.de ... damit habe ich auch PHP gelernt.
So lange du KEINE Grundlagen hast können wir dir hier noch so gute Lösungsansätze posten ... das bringt sehr wenig wenn du sie nicht verstehst.
 
Also:

1. Float ist die Abkürzung für Floating Point Number, zu Deutsch Gleitkomma-Zahl. Float wie fließen, gleiten. Beispiel dafür wäre die Zahl PI (3.1415~) oder 2.4444~ (in deinem Falle)
2. Integer ist die lateinische Bezeichnung für unberührt oder ganz, in der Mathematik oder Programmierung bezeichnet man damit eine Ganzzahl. Beispiel ist 4 oder 13.

Zu den Aussagen von Spikee: Auch hier hat er unrecht. In PHP kann man sehr wohl integere Zahlen mit Floats vergleichen und es kommt das richtige Ergebnis raus:

PHP:
<?php
if (1 < 2.4444) {
	echo "Erster Test ist wahr<br/>";
}
else {
	echo "Erster Test ist falsch<br/>";
}

if (1 > 2.4444) {
	echo "Zweiter Test ist wahr<br/>";
}
else {
	echo "Zweiter Test ist falsch<br/>";
}

Gibt aus:
Code:
Erster Test ist wahr
Zweiter Test ist falsch

Dein Problem sind nicht die Vergleiche. Dein Problem ist, das du dein Problem nicht richtig beschreiben kannst. Am besten ist es, wenn du sog. Testcases definierst. Das kann so aussehen (Achtung! nur ein Beispiel):
Testcase 1:
* Vorbedingung: Es müssen mindestens 25 Einträge in der Tabelle "eintraege" sein.
* Ausführung (Einzelschritte):
- Öffne den Browser und lade die Seite
* Erwartetes Ergebnis:
- Es werden alle Ergebnisse angezeigt.
- Diese werden auf 3 Seiten verteilt, da nur 9 Einträge pro Seite angezeigt werden sollen.
- In der Pagination sind 2 Links zu sehen, da wir uns auf Seite 1 befinden, werden Seite 2 und 3 verlinkt.
- Seite 1 zeigt die Einträge 1 bis 9 an, Seite 2 die Einträge 10 - 18 und die Seite 3 den Rest
* Aktuelles Ergebnis:
hier müsste das tatsächliche Ergebnis stehen

Testcase 2:
* Vorbedingung: Es müssen mindestens 25 Einträge in der Tabelle "eintraege" sein. Davon müssen mindestens 11 Einträge das Wort "test" beinhalten.
* Ausführung (Einzelschritte):
- Öffne den Browser und lade die Seite
- Gib "test" in die Suchmaske ein und drücke den Submit-Button
* Erwartetes Ergebnis:
- Es werden 11 Ergebnisse angezeigt.
- Diese werden auf 2 Seiten verteilt, da nur 9 Einträge pro Seite angezeigt werden sollen.
- In der Pagination ist 1 Link zu sehen, da wir uns auf Seite 1 befinden, wird Seite 2 verlinkt.
- Seite 1 zeigt die Einträge 1 bis 9 an, Seite 2 die Einträge 10 und 11 (den Rest des Suchergebnisses)
* Aktuelles Ergebnis:
hier müsste das tatsächliche Ergebnis stehen

Wenn du so was gemacht hättest, hätte man dir vermutlich viel kompenter helfen können. Vielleicht wäre es dann auch gar nicht zu diesem Thread gekommen.

Programmierung beginnt nicht damit, irgendwelche Code-Zeilen in den Editor zu hacken. Bei mir auf Arbeit beginnt man bspw. erst damit, zu definieren, wie das Ergebnis zu testen ist, bevor man mit der Arbeit beginnt. Denn wenn man sich solche Test-Cases schreibt, hat man auch gleich ein Bild vor Augen, wie das Resultat aussehen soll. Außerdem kann man sich schon bei der Programmierung ein Bild davon machen, was man wie zu implementieren hat.

Gib nicht auf, mach das fertig, was du angefangen hast, lass dich nicht verunsichern, sondern stell dich erstmal auf sicheren Boden, in dem du klar definierst, was wie aussehen soll. Dann schreibst du mindestens einen, bessere mehrere Test-Cases. Wenn bei einem Test-Case ein Fehler auftritt, kannst du das hier genau so hinschreiben, wie ich das oben gemacht habe. Das macht es für uns alle leichter.
 
@saftmeister
Es ging hier nicht darum das TO auf größer oder kleiner als prüft ... sondern einen dierekten Gleichheitstest durchführt ... und das führt nunmal zu fehler wenn man einen INT mit einem FLOAT vergleicht da ein FLOAT ja nie eine ganze Zahl ist.
Ansonsten funktionieren vergleiche wie kleiner oder größer als auch z.B. in Java ... nur wird dort automatisch auf den Typ mit der größeren Darstellung gecastet ... also in fall würde der INT erstmal zu FLOAT gecastet bevor der Vergleich durchgeführt wird.
 
Warum sollte das bei Gleich-Prüfung anders sein als bei Größer/Kleiner? Hier nochmal ein Beispiel, weil du es offensichtlich nicht glaubst und auch nicht selbst ausprobieren willst. Außerdem was ist der Unterschied zwischen einem direkten und einem indirektem Gleichheitstest? Ich frage nur, weil mir die Bezeichnung nicht bekannt vorkommt - sprich ich weiß nicht, was damit gemeint ist.

PHP:
<?php
if (1 == 1.0) {
	echo "Erster Test ist wahr<br/>";
}
else {
	echo "Erster Test ist falsch<br/>";
}

if (1 == 1.01) {
	echo "Zweiter Test ist wahr<br/>";
}
else {
	echo "Zweiter Test ist falsch<br/>";
}

Gibt aus

Code:
Erster Test ist wahr
Zweiter Test ist falsch
 
Wenn PHP dazu in der Lage ist 1.0000F als 1 darzustellen ... schön und gut ... aber in Java funktioniert das definitiv nicht ... das weis ich aus eigener Erfahrung. Außerdem wird an vielen stellen die sich mit solchen Problemen beschäftigen empfohlen nie dierekt Float und INT zu vergleichen da der Rechner einen Float niemals so genau darstellen kann das er einem INT entspricht *ganz davon abgesehen das das für mich immer noch ein TYP-Fehler ist ... aber ok -.-'*

PS : WOLLEN ? ... ich KANN es nicht.
 
Es geht hier nicht darum, was in Java nicht funktioniert. Ich habe dir schon ein paar Posts weiter oben klar gemacht, das PHP zur Gruppe der dynamisch typisierten Sprachen gehört. Genauso wie Perl, Python, Ruby und auch JavaScript (damit du auch was ausprobieren kannst):

HTML:
<html>
<head>
  <title>JS-Test</title>
</head>
<body>
<script type="text/javascript">
if(1 == 1.0)
	alert('Ja');
else
	alert('Nein');
</script>
</body>
</html>

Somit wäre ich an deiner Stelle vorsichtig mit der Aussage, er solle Grundlagen lernen. Wenn du im PHP-Forum solche Irrtümer verbreitest, solltest du dich erst mal mit den Grundlagen befassen - sorry für die Deutlichkeit, ist nicht persönlich gemeint!

Nun werden wir wieder On-Topic.
 
Testcase 1:

* Ausführung (Einzelschritte):
- Öffne den Browser und lade die Seite
* Erwartetes Ergebnis:
- Es werden alle Ergebnisse angezeigt.
- Diese werden auf 3 Seiten verteilt, da nur 9 Einträge pro Seite angezeigt werden sollen.
- In der Pagination sind 3 Links zu sehen, da wir uns auf Seite 1 befinden, werden seite 1, Seite 2 und 3 verlinkt.
- Seite 1 zeigt die Einträge 1 bis 9 an, Seite 2 die Einträge 10 - 18 und die Seite 3 den Rest
* Aktuelles Ergebnis:
hier müsste das tatsächliche Ergebnis stehen

Testcase 2:
* Vorbedingung: Es müssen mindestens 25 Einträge in der Tabelle "eintraege" sein. Davon müssen mindestens 7 Einträge das Wort "test" beinhalten.
* Ausführung (Einzelschritte):
- Öffne den Browser und lade die Seite
- Gib "test" in die Suchmaske ein und drücke den Submit-Button
* Erwartetes Ergebnis:
- Es werden 7 Ergebnisse angezeigt.
- Diese werden auf 1 Seiten verteilt, da nur 9 Einträge pro Seite angezeigt werden sollen.
- In der Pagination sollte keine Link zu sehen sein, da wir uns auf Seite 1 befinden (mein problem ist dass in der Pagination 1 Link zu sehen ist. Da wir uns auf Seite 1 befinden, wird Seite 1 verlinkt.)
* Aktuelles Ergebnis:
hier müsste das tatsächliche Ergebnis stehen .

Ich hoffe jetzt versteht ihr mein problem ^.^''
 
Zurück