SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.08.2016, 04:29:08
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
Converter

Guten Abend!

Ich suche jemand der mir folgenden Code irgendwie in eine Schleife packen kann.
All meine Versuche enden in unendlichen nicht auflösbaren Schleifen...

PHP-Code:
$code "76561198034968045";
$temp "";
        
for(
$i 0$i 8$i++)
{
    
$temp .= chr($code 0xFF);
    
$code >>= 8;
}
        
$end_code md5("BE" $temp); 
Da die Umkehrung von $end_code in $code nicht möglich ist, versuche ich eine
Datenbank zu generieren, die von $code_min bis $code_max alle Einträge enthält.

Die Dimension bewegt sich im Bereich von rund 500-700 Millionen Datensätzen.
( das ist KEIN Witz )

PHP-Code:
$code_min "76561197800000000";
$code_max "76561198300000000"
Das wären die vorläufigen Minimal- bzw. Maximalwerte.


Was ich auch versuche eine Schleife um den gesamten Code zu packen,
ja eine simple Schleife die $code_min ++ solange $code_min < $code_max.

Es wird immer eine Endlosschleife bei mir...

PHP-Code:
$code_min "76561197800000000";
$code_max "76561197800000009"
Selbst bei einer Differenz von nur 9 kommt eine Endlosschleife raus?

ICH BENÖTIGTE WIRKLICH SEHR DRINGEND HILFE!

Falls jemand die nötigen Kenntnisse hat... :)
Mit Zitat antworten
  #2  
Alt 09.08.2016, 18:53:41
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Converter

Dann zeige doch mal Deine (missglückten) Versuche - dann suchen wir jemand der die nötigen Kenntnisse hat.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 09.08.2016, 19:01:54
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
AW: Converter

Ganz simpel...
Ich meine ich bin kein Profi, aber auch kein absoluter Anfänger.

Es wird immer zu unentlichen Schleife?!

PHP-Code:
    $id_min "76561197000000000";
    
$id_max "76561198300000000";
    
    for(
$id intval($id_min); $id intval($id_max); $id++)
    {
        
$temp "";
    
        for(
$i 0$i 8$i++)
        {
            
$temp .= chr($id 0xFF);
            
$id >>= 8;
        }

        
$return md5("BE" $temp);
    } 
Mit Zitat antworten
  #4  
Alt 09.08.2016, 19:15:56
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Converter

Ok, und woran machst Du jetzt fest das es sich dabei um eine unendliche Schleife handelt?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 09.08.2016, 19:25:15
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
AW: Converter

PHP-Code:
    $id_min "76561197000000000";
    
$id_max "76561198300000000"
Wenn ich die Werte auf folgende abändere:

PHP-Code:
    $id_min "76561197000000000";
    
$id_max "76561197000000010"
... wird das Script niemals fertig.

Obwohl es höchstens 1-2 Sekunden braucht um eine ID zu generieren.

Die Schleife wird niemals fertig und ich frage mich warum?

Klammere ich " $id >>= 8; " aus, funktioniert alles prächtig.
Dieser Schritt ist aber nötig um die ID zu generieren.

Geändert von Fake (09.08.2016 um 19:40:11 Uhr)
Mit Zitat antworten
  #6  
Alt 10.08.2016, 10:16:45
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Converter

Zitat:
Zitat von Fake Beitrag anzeigen
PHP-Code:
    $id_min "76561197000000000";
    
$id_max "76561198300000000";
    
    for(
$id intval($id_min); $id intval($id_max); $id++)
    {
        
$temp "";
    
        for(
$i 0$i 8$i++)
        {
            
$temp .= chr($id 0xFF);
            
$id >>= 8;
        }

        
$return md5("BE" $temp);
    } 
Dieser Code ergibt - zumindest bei mir - keine Endlosschleife. Denn intval($id_min) = intval($id_max). Somit wird die Schleife nie ausgeführt.

Tipp: Beschäftige Dich mal mit der möglichen Größe von numerischen Variablen. Lass Dir dazu mal die intval($id_min) und intval($id_max) ausgeben. Was stellt Du fest?


Und ja, konnte die Endlosschleife trotzdem nachvollziehen. Wieso manipulierst Du $id an zwei Stellen? Durch
PHP-Code:
$id >>= 8
wird $id nach entsprechender Anzahl von Durchläufen = 0 und Deine Schleife wird so kein Ende finden ( immer $id < $id_max). Hier noch mal Deine Programmlogik überdenken bzw. mit weiterer Variablen arbeiten.


Zitat:
Zitat von Fake Beitrag anzeigen
Falls jemand die nötigen Kenntnisse hat... :)
Dein Urteil?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7  
Alt 10.08.2016, 12:08:56
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
AW: Converter

Ja, war mir dann, ein bisschen spät, aufgefallen. :D

Deshalb hatte ich eine Funktion aus dem Converter
gemacht und diese in einer Schleife aufgerufen.
Und nun warte ich und warte und warte...

Nach Anpassung von min/max komme ich auf genau
500.000.000 Datensätze. Dauert ziemlich lang die zu generieren.
Mit Zitat antworten
  #8  
Alt 10.08.2016, 12:18:52
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
AW: Converter

Aber eine Frage hätte ich dann doch noch...
Deine persönliche Meinung ist gefragt.

Ich habe mich mit MySQL Prozeduren noch nie befasst, würde aber gern mal
wissen wollen, ob automatisch beim Hinzufügen eines Datensatzes in Tabelle (B)
die passende ID aus Tabelle (A) zugeordnet werden kann?

Tabelle A

id | conv_id
-------------
76561198107318624 | 7ae829b1d3ba5e86f7760d6976929d05

Ein neuer Eintrag in Tabelle (B) beinhaltet immer den "conv_id" Wert.
Benötigt wird aber zusätzlich auch der eigentlich, nicht zu convertierende,
Ursprungswert, hier ID.


Ist es möglich eine solche Prozedur zu erstellen?

Ist es in deinen Augen "schaffbar" für bsp. 1000 neue Einträge
in Tabelle (B) zeitnah die ID aus Tabelle (A) aus 500 Millionen
Datensätzen zuzuordnen?
Mit Zitat antworten
  #9  
Alt 10.08.2016, 13:28:52
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Converter

Zitat:
Zitat von Fake Beitrag anzeigen
[..]
Ist es möglich eine solche Prozedur zu erstellen?
Ja.


Zitat:
Zitat von Fake Beitrag anzeigen
[..]
Ist es in deinen Augen "schaffbar" für bsp. 1000 neue Einträge
in Tabelle (B) zeitnah die ID aus Tabelle (A) aus 500 Millionen
Datensätzen zuzuordnen?
Definiere "zeitnah".
Weiterführende Mutmassungen wären hoch spekulativ, da keine Rahmenbedingungen bekannt sind (Dateiaufbau, DBMS, Server, RAM, HD, Anbindung, etc.).
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10  
Alt 10.08.2016, 15:05:06
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Converter

Zitat:
Zitat von vt1816 Beitrag anzeigen
(Dateiaufbau, DBMS, Server, RAM, HD, Anbindung, etc.).
Index!
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php > pdf converter paeddi77 PHP Grundlagen 4 07.01.2004 11:31:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:46:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt