- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-10-2002, 13:06
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Unhappy for-Schleife, Rand, und MySQL Problem, oder so, lest einfach mal

Hi, also in meinem Script wird per zufall eine Zahl z.B. 1 und 3 gesucht, naja egal.
angenommen in einer MySQL Tabelle sieht es so aus:

ID Name Link
3 Ich www.keine.de
2 du www.wieder-keine.de
5 richard -


So, wie ihr sehen könnt ist id 3 vor id 2, nun das Problem,
per rand wird einfach nicht 3 gezogen, immer nur 2 oder 5, nun meine idee:
geht es irgend wie per insert befehl, das ich dem Code sage, er soll den nächsten Beitrag nach 5 einsetzen?? Wenn ich nämlich einen Eintrag lösche, dann wird der nächste eintrag an die stelle gesetzt, wo der letze beitrag gelöscht wurde.

Also gibt es die möglichkeit dem insert befehl zu sagen, das er nach der id 5 eintragen soll???

Danke für die Hilfe
Mit Zitat antworten
  #2 (permalink)  
Alt 06-10-2002, 13:41
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

ich glaub nicht, mysql füllt die gelöschtenfelden um den overflow wieder wegzukriegen.. wo ist denn dein problem ? order by rand() werden dir die einträge durchgemischt.
Mit Zitat antworten
  #3 (permalink)  
Alt 06-10-2002, 13:54
bohni
 Member
Links : Onlinestatus : bohni ist offline
Registriert seit: Oct 2001
Beiträge: 423
bohni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hast du auch den zufallsgenerator vorher mittels mt_srand() initialisiert, ansonsten werden zufallszahlen immer mit dem selben startwert erzeugt.
ausserdem würde ich lieber statt rand() mt_rand() benutzen, da der bessere zufallszahlen erzeugt.
Mit Zitat antworten
  #4 (permalink)  
Alt 06-10-2002, 13:54
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

Code:
PHP-Code:
srand ((double)microtime()*1000000);
$rand = @rand(1$count);


$rand $rand-1;
//Delzone
$query mysql_query("SELECT * FROM ".$tab."banner ORDER BY id ASC LIMIT $rand,1 ");
$arraygib mysql_fetch_array($query);
$rand $arraygib[id]; 
so das ist der code
$count ist 3, weil 3 einträge in der DB sind. Nun wird aber wiegesagt niemals id 3 aufgerufen, wie würde deine Idee im SCript aussehen???
Mit Zitat antworten
  #5 (permalink)  
Alt 06-10-2002, 13:55
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

hmm, mt_rand, werde ich mal probieren, was macht mt_rand??
Mit Zitat antworten
  #6 (permalink)  
Alt 06-10-2002, 14:11
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

ok das mit mt_rand hab ich jetzt, auch wenn ich den sinn davon nicht ganz verstehe warum der kautz soviele rands programmiert hat egal, nun habe ich immer noch das link problem (anderer beitrag)
Mit Zitat antworten
  #7 (permalink)  
Alt 06-10-2002, 14:52
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

$query = mysql_query("SELECT * FROM ".$tab."banner ORDER BY RAND() LIMIT 1 ");

dann haste gleich ein zufalls eintrag...
Mit Zitat antworten
  #8 (permalink)  
Alt 06-10-2002, 19:20
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

also so oder
PHP-Code:
$query mysql_query("SELECT * FROM ".$tab."banner ORDER BY RAND(1, $count) LIMIT 1 "); 
Mit Zitat antworten
  #9 (permalink)  
Alt 06-10-2002, 19:26
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

wozu das 1, $count ?
Mit Zitat antworten
  #10 (permalink)  
Alt 06-10-2002, 19:26
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.242
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nur leider gibt's in MySQL die Funktion RAND(1, $count) in der Syntax nicht ... entweder RAND() oder RAND($count) ... wobei das sehr wenig sinn macht wenn man 'nen zufälligen Datensatz haben will ... weil's dann im allgemeinen mehre Datensätze mit dem gleichen Wert für RAND() gibt!
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!

http://www.mysqldiff.org
Mit Zitat antworten
  #11 (permalink)  
Alt 06-10-2002, 22:33
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

das problem ist ja das mit limit, den da fänt eintrag eins mit 0 an. Also muss order by rand($count) seit, aber wenn count 3 ist, wie kommt er dann auf eine zahl, macht der dan zwischen 1-3 oder 0-3????
Mit Zitat antworten
  #12 (permalink)  
Alt 06-10-2002, 23:18
Campus
 PHP Junior
Links : Onlinestatus : Campus ist offline
Registriert seit: Jul 2002
Ort: D
Beiträge: 842
Campus ist zur Zeit noch ein unbeschriebenes Blatt
Campus eine Nachricht über ICQ schicken
Standard

$query = mysql_query("SELECT * FROM ".$tab."banner ORDER BY RAND() LIMIT 1 ");

falls es dir noch nicht aufgefallen ist, dieses RAND() hat nicht mit der PHP funktion rand() zu du, das ist eine function aus der Mysql ebene..

geschweige davon, das man keine PHP function so einfach in ner string ausführen kann.
Mit Zitat antworten
  #13 (permalink)  
Alt 07-10-2002, 00:02
Rob K
 Junior Member
Links : Onlinestatus : Rob K ist offline
Registriert seit: Oct 2002
Ort: Dresden
Beiträge: 148
Rob K ist zur Zeit noch ein unbeschriebenes Blatt
Rob K eine Nachricht über ICQ schicken
Standard

Zitat:
$query = mysql_query("SELECT * FROM ".$tab."banner ORDER BY RAND() LIMIT 1 ");
genau so geht es!
funzt aber erst ab mysql v 3.23!

siehe auch:
http://www.dclp-faq.de/q/q-mysql-zufall.html
__________________
GNU/LINUX
Mit Zitat antworten
  #14 (permalink)  
Alt 07-10-2002, 00:05
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.242
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Rob K: Das ist richtig ... aber nur noch sehr schlechte Provider verwenden MySQL Versionen < 3.23 ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!

http://www.mysqldiff.org
Mit Zitat antworten
  #15 (permalink)  
Alt 07-10-2002, 10:24
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

DANKE : D, und das Link Problem ist auch gelöst 3.0 wird bald kommen juhuuu
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:49 Uhr.