Top-Themen

Aktuelle Themen (A bis Z)

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, 4366 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 ..
Ähnliche Inhalte
PHP
PHP String inhalte wiedergeben
gelöst Frage von DasPossumPHP7 Kommentare

Hallo zusammen, ich arbeite gerade an ein kleines Script das mir Linuxbenutzer auf den Webserver ausgeben soll. Bisher habe ...

Batch & Shell
VBScript String als hexadezimale Zahl ausgeben
Frage von citroendsvierBatch & Shell5 Kommentare

Hallo zusammen, ich suche eine Möglichkeit, eine Variable aus VBScript als hexadezimale Zahl auszugeben. Bevor ich das ganze manuell ...

VB for Applications
In einer Textzeile (String) die Anzahl eines vorgekommenen Buchstaben zählen
gelöst Frage von windelterroristVB for Applications5 Kommentare

Hallo! Ich bin noch neu im Bereich VBA und bin mir deshalb noch etwas unsicher in dieser Programmiersprache. Würde ...

Batch & Shell
Batch: Vorkommen eines strings in mehreren Dateien zählen und pro Datei ausgeben
gelöst Frage von ole-objektBatch & Shell3 Kommentare

Hallo, ich muss später über 180 Dateien (mehr als 3 GB) auf das Auftreten bestimmter Strings durchsuchen um zu ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 6 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 6 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 10 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...