Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP - Aufsteigende Zahlen an String hängen, wie ?

Frage Entwicklung PHP

Mitglied: dark3zz

dark3zz (Level 1) - Jetzt verbinden

09.05.2011, aktualisiert 02.06.2011, 4286 Aufrufe, 10 Kommentare

Also, ich finde einfach keine Lösung. Vielleicht hat hier ein php'ler eine Idee wie man das am besten lösen kann.

Ich generiere Zufallszahlen anhand einer eigenen Function. An diese Zufallszahl ist auch ein Name verknüpft.

An diesen $namen moechte ich nun bei jedem durchlaufen und schreiben, auch eine aufsteigende Zahl angeben.

z.b.

$name hat der User eingegeben: MEIER

Resultat am Schluss: MEIER_001, MEIER_002, etc....so lange wie der $i Zähler läuft.



01.
        // $ammount wird per formular übergeben, z.b. 30   
02.
       $ammount = $_POST['ammount'];         
03.
         
04.
        for($i = 0; $i < $ammount ; $i++) 
05.
06.
            // zufallscode mit buchstaben generieren 
07.
            $codegen = myfeckingcodegenfunctionlol(8); // hier hole ich mir eine zufallszahl 
08.
             
09.
            $_POST[name]+1;  // <-------- Hier fehit die Lösung. Das hier funktioniert nicht 
10.
                  
11.
           
12.
            // schreiben der mysql_query  
13.
            ............ 
14.
            
Mitglied: dog
09.05.2011 um 15:46 Uhr
01.
$name = sprintf("%s_%03u",$name,$i);
Bitte warten ..
Mitglied: dark3zz
09.05.2011 um 16:14 Uhr
Zitat von dog:
01.
> $name = sprintf("%s_%03u",$name,$i); 
02.
> 

Heijas dog! Danke für Deinen Vorschlag. Hab die Zeile eingesetzt. Nun wird aber die Zahl an die Zahl gehängt und sieht dann so aus:

NAME_000_001
NAME_000_001_002
NAME_000_001_002_003
NAME_000_001_002_003_004
NAME_000_001_002_003_004_005



Hab die Zeile eingesetzt und die anfängliche Übergabe des POSTS in die Variable weggelassen.
01.
       
02.
         
03.
        for($i = 0; $i < $_POST['ammount']; $i++) 
04.
05.
            // zufallscode mit buchstaben generieren 
06.
            $codegen = myfeckingcodegenfunctionlol(8); // hier hole ich mir eine zufallszahl 
07.
             
08.
            $name = sprintf("%s_%03u",$name,$i); // Hier braucht die Schleife eine Lösung für die aufsteigenden zahlen. 
09.
                  
10.
           
11.
            // schreiben der mysql_query beginnt hier 
12.
            ..... 
13.
            
Bitte warten ..
Mitglied: dog
09.05.2011 um 17:46 Uhr
Das war auch nur ein Beispiel.

Woher kommt der Name?
Woher kommt die Zählvariable (deren Grenzen)?
Was hat die Zusfallszahl damit zu tun?
Bitte warten ..
Mitglied: Arano
09.05.2011 um 17:46 Uhr
Hallo

In PHP kannst du mit einem Punk "." verketten
PHP-Manual - echo

01.
$_POST[name]+1;
Ist hier sogar doppelt falsch
  1. Wäre es nun eine einfache Rechnung also Variable x+1, was mit eine Zeichenkette (Name) schon mal doof ist und
  2. Hast du die Variable auch noch falsch geschrieben, richtig wäre "$_POST['name']" (name in Anführungszeichen weil name sonst als Konstante ausgewertete werden würde die nicht existiert)

Hilfreich wären folgende zwei Zeile an erster Stelle
01.
<?php 
02.
  ini_set('display_errors','On'); 
03.
  ini_set('error_reporting',E_ALL|E_STRICT); 
04.
?>
Deine Lösung sollte also ungefähr so aussehen:
01.
  $name = $_POST['name'].'_'.$i;

~Arano
Bitte warten ..
Mitglied: dark3zz
09.05.2011 um 18:55 Uhr
also es geht, nachdem ich die variable $name umbenannt habe, da ich sie mir sonst im jeden durchlauf mitkopiere


$namewhatever = sprintf("%s_%03u",$name,$i); 


also dogs loesung hat gefruchtet, tausend dank.

bin noch nicht ganz sesshaft in php, also doof und company sind hilfreich aber auf die falsche art und weise

merci, problem geloest.
Bitte warten ..
Mitglied: Guenni
10.05.2011 um 00:42 Uhr
Was soll eigentlich immer dieser Hinweis auf ini_set???

Diese Funktion fängt Syntaxfehler ab, aber bestimmt nicht unlogische Fehler.
Bitte warten ..
Mitglied: Arano
10.05.2011 um 17:21 Uhr
Hallo Günni.

Ja stimmt, diese Einstellungen fangen "nur" Syntaxfehler ab bzw. veranlassen deren Anzeige - aber genau deswegen wies ich ja drauf hin.
Okay, das war nicht die Frage / das Problem welches Dark3zz probleme bereitete aber darauf hinweisen kann man doch trotzdem - muss ihn ja nicht beim Fehlermachen zusehen. Zusätzlich zeigt es ihm und allen anderen möglicherweise zukünftige Fehler / Probleme die nun selbständig entfernt / gelöst werden können.


~Arano
Bitte warten ..
Mitglied: dark3zz
10.05.2011 um 18:16 Uhr
ja danke arano. sehr hilfreich. ich benutze meistens den error reporting all, aber das nervt manchmal :1)
Bitte warten ..
Mitglied: dog
10.05.2011 um 18:21 Uhr
aber das nervt manchmal :1)

Ganz ehrlich: Dann machst du was falsch!
E_ALL ist dein bester Freund!
Ich habe das bei mir sogar so eingebunden, dass jede Art von Fehler zu einem soforting Abbruch führt, denn jeder Fehler setzt sich nach dem Schmetterlingseffekt fort.
Bitte warten ..
Mitglied: Arano
10.05.2011 um 20:23 Uhr
Zitat von dog:
> aber das nervt manchmal :1)

Ganz ehrlich: Dann machst du was falsch!
Das sehe ich allerdings genau so ! (so wie Dog)

Gut, ich lasse es nicht gleich abbrechen, aber selbst die Notizen sehe ich als Fehler an und beseitige sie entsprechend - eben des Schmetterlingseffektes wegen.

~Arano
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...