php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.05.2005, 08:02  
Gast
 
Beiträge: n/a
Standard einfaches array problem

hi,

ich lese 1 datensatz (id) in einer while schleife aus einer db mit fetch_row aus. übergebe den einzelnen wert in der schleife an ein array-> $feld2[]=$feld1[0].

möchte dies erhalten-> array(1,4,5,3,6,1) erhalte jedoch dies -> array(1,3) array(5,3), array(6,1)

wie müsste es richtig aussehen?

danke
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.05.2005, 08:11  
Erfahrener Benutzer
 
Registriert seit: 17.01.2005
Beiträge: 227
Mirod
Standard

Poste mal bissl Code, kann sonst nix machen, resp. helfen
Mirod ist offline  
Alt 03.05.2005, 08:17  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
function usertrackpoints($userid,$klasse)
{
    
$time=time();
    
$strecke=MySQLQuery("Select id,strecke from wette_strecke Where start<=$time and wette='1' order by start");
    while (
$inhalt=mysql_fetch_assoc($strecke))
    {
        
$punkte=mysql_fetch_row(MySQLQuery("Select punkte From wette_user Where user='$userid' AND klasse='$klasse' AND trackid='$inhalt[id]'"));
        
        if (empty(
$punkte[0]))
        {
            
$punkte[]=0;
        }

        
$punkte2[]=$punkte[0];
    };
    return (
$punkte2);
}

?>
 
Alt 03.05.2005, 09:00  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Nur mal als erster Eindruck:

Der zweite Querystring taugt schonmal nix.
Der Teil hier wird mindestens eine Warnung erzeugen: '$inhalt[id]' . Indizes müssen in Anführungszeichen!
Mach mal error_reporting(E_ALL) vorne in das Script, dann wirst Du die Notice wegen der undefinierten Konstante id sehen.

Vielleicht solltest Du auch mal sowas wie
PHP-Code:
<?
  $punkte2 
= array();
?>
einbauen bevor Du Werte reintopfst.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 03.05.2005, 09:31  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

abgesehen davon:

mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
PHP-Code:
$sql "SELECT feld1,feld2 FROM table WHERE id=5";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql); 
und hier nochmal bissel was zu erro_reporting

error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
PHP-Code:
error_reporting(E_ALL); 
damit werden dann alle Fehler ausgegeben.
Mögliche Fehler die dann auftreten und wie man sie beheben kann:
Notice: Use of undefined constant ...
Notice: Undefined variable ...
robo47 ist offline  
Alt 03.05.2005, 09:38  
Gast
 
Beiträge: n/a
Standard

hi gerhard,
danke für deinen tipp. error_reporting(E_ALL) kannte ich noch gar nicht, aber einen fehler in bezug auf die variable gibts nicht. das mit den anführungszeichen ist irgendwie faulheit. sonst müsste ich ja \"\" schreiben

was soll, außer ein sauberer stil $punkte2 = array() bewirken? sagt doch nur, dass die var ein array ist, oder? dies macht php doch automatisch bei der werte übergabe.

danke
 
Alt 03.05.2005, 09:45  
Gast
 
Beiträge: n/a
Standard

@robo47

danke für deine hilfe. mysql_error() kenn ich, habe es beim posten aber raus genommen, um den txt nicht zu lang werden lassen. die seiten mit den error_reporting schau ich mir auf jedenfall an - kannte ich noch nicht.

brauche aber immer noch hilfe beim array. die daten werden ja korrekt ausgelesen nur die formatierung des arrays stimmt nicht.
 
Alt 03.05.2005, 10:12  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Sunghost
hi gerhard,
danke für deinen tipp. error_reporting(E_ALL) kannte ich noch gar nicht, aber einen fehler in bezug auf die variable gibts nicht. das mit den anführungszeichen ist irgendwie faulheit. sonst müsste ich ja \"\" schreiben
Nein, die Anführungszeichen sollen im String ja nicht auftauchen.
Du müsstest ... ".$inhalt['id']." ... schreiben.

Also wenn ich sowas mache, kriege ich eine Meldung. Außer Du hast zusätzlich noch eine Konstante id definiert. Das ist dann bei diesem Array äußerst gefährlich.

Das ist das gleiche Problem wie hier:
http://www.phpfriend.de/forum/viewto...hlight=#257651


Zitat:
Zitat von Sunghost
was soll, außer ein sauberer stil $punkte2 = array() bewirken? sagt doch nur, dass die var ein array ist, oder? dies macht php doch automatisch bei der werte übergabe.
1. Was braucht man noch als Anreiz außer, dass es sauber ist?
2. Ich dachte bisher, das ist zwingend notwendig, wenn man so wie Du einfach neue Einträge ans Ende packen will. Auch wenn es das nicht ist, tritt 1. in Kraft.
3. Was hindert Dich, es einfach mal auszuprobieren?
Der_Gerhard ist offline  
Alt 03.05.2005, 10:19  
Gast
 
Beiträge: n/a
Standard

Zitat:
Der Teil hier wird mindestens eine Warnung erzeugen: '$inhalt[id]' . Indizes müssen in Anführungszeichen!
nein, innerhalb einer Zeichenkette in doppelten Anführungszeichen nicht.
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'true);
$arr = array( 'a'=>'so');

echo 
$arr['a'], " und $arr[a]";
?>
Von welchem Typ sind
wette_user.user
wette_user.klasse
wette_strecke.start
wette_strecke.wette
?

Vielleicht funktioniert
PHP-Code:
<?php
function usertrackpoints($userid,$klasse)
{
    
$time time();
    
$query "SELECT punkte
            FROM wette_user as w
            JOIN wette_strecke as s
            ON w.trackid=s.id
            WHERE w.user='$userid'
            AND w.klasse='$klasse'
            AND s.start<=$time
            AND s.wette='1'
            ORDER BY s.start"
;
    
$result MySQLQuery($query) or die(mysql_error());
    
    
$punkte = array();
    while( 
$row=mysql_fetch_row($result) )
        
$punkte[] = $row[0];
        
    return 
$punkte;
}
?>
auf jeden Fall auch mit error_reporting(E_ALL) und display_errors=true laufen lassen.
 
Alt 03.05.2005, 10:24  
Gast
 
Beiträge: n/a
Standard

1. hast ja recht
2. php = quick and dirty
3. ok 1.
4. habe ich probiert, probiere fast jeden vorschlag

raus gelesen habe ich, dass ich außer ". . " das array so schreiben soll $punkte['0'] ?!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Funktions Problem mit Array andrew22 PHP Tipps 2007 11 03.07.2007 17:30
Array Problem dsmcg PHP Tipps 2006 3 07.12.2006 14:34
Mysql / Array Problem marcels PHP Tipps 2006 10 23.03.2006 18:30
Problem mit array in Datenbank pixelcut PHP-Fortgeschrittene 3 28.02.2006 18:20
array - Problem skaterboy PHP-Fortgeschrittene 4 26.02.2006 12:36
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array Problem PHP Tipps 2007 10 25.11.2005 08:48
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem mir einem Array PHP Tipps 2005-2 5 11.08.2005 11:33
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Array Problem [Ansatz ?] PHP Tipps 2005 0 27.01.2005 18:24
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Problem mit Checkboxvalues in Array PHP Tipps 2004 1 17.09.2004 15:00
Array Problem andrew22 PHP Tipps 2004 9 17.09.2004 10:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
einfaches array

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.