Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 2
Seite [1]
Franzel


Beginner




Beiträge: 13
# Thema - 01.07.2007 um 22:23 Uhr
Hallo alle zusammen,

ich trete mal wieder auf der Stelle^^.

Folgendes:

Ich habe eine Tabelle, Namens cs_clancup_tuniere und eine namens cs_clancup_teams

In der Tabelle "tuniere" gibt es eine Spalte, in der alle ids der Teams gespeichert werden, die an dem Turnier teilnehmen. Die ID's werden durch ein Semikolon getrennt. Also z.B: 1;5;10;6

Jetzt habe ich mir das so vorgestellt:

Ich lese die Tabellenspalte aus und speichere sie in einen String.
Mit der explode() -Funktion will ich dann die einzelnen Id's in einem Array speichern.
Soweit so gut.

Danach möchte ich dann in einer For-Schleife die id's auslesen, und in einer weiteren for-schleife (also verschachtelt!) den ID-s díe Teamnamen zuweisen, die in der Tabelle "teams" gespeichert sind und diese dann eben mit {loop:..}{stop:..} ausgeben.

folgendes hab ich bisher auf die Beine gestellt:

der phpCode +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
1. / 2. / ... 
<?php  
$tunier_id 
$_GET['tunier_id'];

$cells_tunier 'clancup_tunier_id AS id,title AS title, teams_ids AS teams, description AS descr';
$select_tunier cs_sql_select(__FILE__,'clancup_tunier',$cells_tunier,$tunier_id);

$teams_ids $select_tunier['teams'];
$team_explode explode (';',$teams_ids);
$team_explode_loop count($team_explode);

for (
$run $run <  $team_explode_loop$run++) {
    
$team_id[$run] = $team_explode[$run];
    
    
$select_teamname cs_sql_select(__FILE__,'clancup_teams','name AS name',$team_id[$run]);
    
$select_teamname_loop count ($select_teamname);

    for (
$run_name $run_name <  $select_teamname_loop$run_name++) {
        
$data['tunier_details_teams'][$run_name]['team_name'] = $select_teamname[$run_name]['name'];
    }

?>


Die .tpl Datei sieht folgendermaßen aus:

die tpl-datei +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
1. / 2. / ... 
 
<table class="forum" style="width:{page:width}" cellpadding="0" cellspacing="1">
<
tr>
<
td class="headb" colspan ="2">{tunier_detail:title}</td>
</
tr>
<
tr>
<
td class="leftc" style="width: 100px;">Beschreibung</td>
<
td class="leftb">{tunier_detail:descr}</td>
</
tr>
<
tr>
<
td class="leftc" style="width: 100px;">teilnehmende Teams</td>
<
td class="leftb">
{
loop:tunier_details_teams}
{
tunier_details_teams:team_name}<br/>
{
stop:tunier_details_teams}
</
td>
</
tr>


<
tr>

</
tr>

</
table>




Die debug.php gibt mir folgende Fehler aus:

fehlerausgabe +-

debug.php :
Notice: Undefined offset: 0 in Erogrammexampphtdocscsmodsclancupview_tunier.php on line 23

Notice: Undefined offset: 0 in Erogrammexampphtdocscsmodsclancupview_tunier.php on line 25

Notice: Undefined offset: 1 in Erogrammexampphtdocscsmodsclancupview_tunier.php on line 23

Notice: Undefined offset: 0 in Erogrammexampphtdocscsmodsclancupview_tunier.php on line 25

Notice: Undefined offset: 2 in Erogrammexampphtdocscsmodsclancupview_tunier.php on line 23

Notice: Undefined offset: 0 in Erogrammexampphtdocscsmodsclancupview_tunier.php on line 25


Habe ich mal wieder einen grundsätzlichen denkfehler drinne?

Für Hilfe bin ich sehr dankbar.


P.S. Ich habe gerade selber gemerkt dass ich TuRnier konsequent falsch schreibe also in dieser Hinsicht bitte keine Kommentare ^^ ... da ich dies aber durchgehend tue kann der Fehler nicht damit zusammenhängen


Zuletzt editiert von Franzel am 01.07.2007 um 22:32 Uhr (4x Editiert)
Inaktiv
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 1 - 01.07.2007 um 22:49 Uhr
da stimmt so einiges nicht..
ganz falsch ist auf jeden fall
 
1.
1. / 2. / ... 
<?php cs_sql_select(__FILE__,'clancup_teams','name AS name',$team_id[$run]); ?>
..
nach der $cells variable (bei der du dir AS name übrigens sparen kannst) die where bedingung, und zwar wie im sql auch. wäre also dann sowas wie "team_id = '" . $team_id[$run] . "'");
zudem hast du hierbei $limit noch auf 1 stehen sodass nur ein datensatz gewählt wird.. also
 
1.
2.
3.
1. / 2. / ... 
<?php
cs_sql_select
(__FILE__,'clancup_teams','name AS name',"team_id = '" $team_id[$run] . "'",0,0,0);
?>


würde auch mal helfen wenn du uns den unveränderten quelltext gibst, dann bringen uns die zeilen in den fehlermeldungen auch was.


Zuletzt editiert von duRiel ClanSphere Team am 01.07.2007 um 22:50 Uhr (2x Editiert)
Inaktiv
|
Franzel
Thread-Ersteller


Beginner




Beiträge: 13
# Antwort: 2 - 02.07.2007 um 16:49 Uhr
vor dem edit +-
ok ... jetzt zeigt er mir schonmal keine Fehler mehr an.

Habe bisher nur die Sql-Zeile geändert.
Er zeigt sogar einen Teamnamen an und zwar den letzten eingetragenen, liegt wohl daran, dass ich ja den äußeren loop nicht an $data übergebe und dieser somit auch nicht ausgeführt werden kann ?° (liege ich da richtig?)

aber wie bekomm ich das hin dass er mir auch die äußere Schleife erkennt?

Habe das jetzt mal so probiert gehabt:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
1. / 2. / ... 
<?php  

$teams_ids 
$select_tunier['teams'];
$team_explode explode (';',$teams_ids);
$team_explode_loop count($team_explode);

for (
$run $run <  $team_explode_loop$run++) {
    
$team_id[$run] = $team_explode[$run];
    
$select_teamname cs_sql_select(__FILE__,'clancup_teams','name',"clancup_teams_id = '" $team_id[$run] . "'",0,0,0);
    
$select_teamname_loop count ($select_teamname);
    for (
$run_name $run_name <  $select_teamname_loop$run_name++) {
        
$data['tunier_details_teams'][$run_name]['team_name'] = $select_teamname[$run_name]['name'];
    }

    
$data['teamloop'][$run]['id'] = $team_id[$run];
    }    

?>


so zeigt er mir aber nur 3 mal (weil insgesamt 3 Teams eingetragen sind) das letzte eingetragene Team an.
die debug zeigt auch keine Fehler an.
Wie bekomme ich das noch in den Griff? kann mir da jemand helfen?


//edit:

hab alles hinbekommen.
habe gemerkt, dass die 2te Schleife ja völlig füren Schuh war^^.

das ganze sieht nun so aus und funktioniert:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
1. / 2. / ... 
<?php  
$teams_ids 
$select_tunier['teams'];
$team_explode explode (';',$teams_ids);
$team_explode_loop count($team_explode);

for (
$run $run <  $team_explode_loop$run++) {

    
$team_id[$run] = $team_explode[$run];
    
$select_teamname cs_sql_select(__FILE__,'clancup_teams','name',"clancup_teams_id = '" $team_id[$run] . "'",0,0,0);

        
$data['teamloop'][$run]['name'] = $select_teamname[0]['name'];
}    
?>



In diesem Sinne, danke für die schnelle Hilfe und die Hilfe zur Selbsthilfe^^.

kann meinetwegen geclosed werden.


Zuletzt editiert von Franzel am 02.07.2007 um 19:24 Uhr (1x Editiert)
Inaktiv
|
Antworten: 2
Seite [1]


Sie müssen sich registrieren, um zu antworten.