Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 1
Seite [1]
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Thema - 24.08.2009 um 21:41 Uhr
Ich habe ein kleines Problem mit der cs_dropdown-Funktion.

Und zwar will ich eine Seite haben, in der man via Drop-Down auswählen kann, für wenn bestimmte Datensätze sichtbar sind.
Es gibt drei Möglichkeiten die den Zahlen 1, 2, 3 zugeordnet sind.
Nun soll das DropDown erzeugt werden mit Beschreibung (funktioniert soweit) und die ID soll in der Datenbank gespeicehrt werden (funktioniert nicht) =(

Hier mal der Code, vielleicht kann mir ja jmd. helfen:
Code +-
 
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
1. / 2. / ... 
<?php
// ClanSphere 2009 - www.clansphere.net
// $Id$

// Die Anzeige in der View anpassen
// 3 verfügbare Stufen: für alle - nur für Kursmitglieder - privat

$cs_lang cs_translate('kurse');

$data = array();
$id = !empty($_GET['where']) ? (int) $_GET['where'] : (int) $_GET['id'];


$from     'students std INNER JOIN {pre}_kurs krs ON std.kurs_id = krs.kurs_id';
$select 'std.students_visible AS students_visible, krs.kurs_id AS kurs_id, krs.kurs_short AS kurs_short';
$where     "students_id = '" $id "'";

    
$cs_kurs cs_sql_select(__FILE__,$from,$select,$where);

$data['kurs']['short']             = cs_secure($cs_kurs['kurs_short']);
$data['kurs']['id']                = $id;

  
$vis[0]['students_visible'] = '1';
  
$vis[0]['name'] = $cs_lang['vis_all'];
  
$vis[1]['students_visible'] = '2';
  
$vis[1]['name'] = $cs_lang['vis_kurs'];
  
$vis[2]['students_visible'] = '3';
  
$vis[2]['name'] = $cs_lang['vis_priv'];
  
$data['vis']['choose'] = cs_dropdown('students_visible','name',$vis,$cs_kurs['students_visible'],0,1);
  
if(isset(
$_POST['submit'])) {

  
$users_cells = array('students_visible');
  
$users_save = array($data['vis']['choose']);
  
cs_sql_update(__FILE__,'students',$users_cells,$users_save,$where);
  }
      
echo 
cs_subtemplate(__FILE__,$data,'kurse','vis');    


Tom
PS: In der Datenbank existiert die Spalte ... mit dem Standard-Wert 1


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich
Inaktiv
Tom08 ClanSphere Team
Thread-Ersteller

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 1 - 30.08.2009 um 16:01 Uhr
/e:
Problem ist behoben!
Es lag an dem einem Fehler in der Verwendung der Funktion cs_sql_update!

So funktionierts:
Code +-
 
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
1. / 2. / ... 
<?php
// ClanSphere 2009 - www.clansphere.net
// $Id$

// Kurse - Addon
// Vis
// Die Anzeige in der View anpassen
// 3 verfügbare Stufen: für alle - nur für Kursmitglieder - privat

$cs_lang cs_translate('kurse');

$data = array();
$id = !empty($_GET['where']) ? (int) $_GET['where'] : (int) $_GET['id'];

$where     "students_id = '" $id "'";

 
$from     'students std INNER JOIN {pre}_kurs krs ON std.kurs_id = krs.kurs_id';
$select 'std.students_visible AS students_visible, krs.kurs_id AS kurs_id, krs.kurs_short AS kurs_short';


    
$cs_kurs cs_sql_select(__FILE__,$from,$select,$where);

$data['kurs']['short']             = cs_secure($cs_kurs['kurs_short']);
$data['kurs']['id']                = $id;

  
$vis[0]['students_visible'] = '1';
  
$vis[0]['name'] = $cs_lang['vis_all'];
  
$vis[1]['students_visible'] = '2';
  
$vis[1]['name'] = $cs_lang['vis_kurs'];
  
$vis[2]['students_visible'] = '3';
  
$vis[2]['name'] = $cs_lang['vis_priv'];
  
$data['vis']['choose'] = cs_dropdown('students_visible','name',$vis,$cs_kurs['students_visible'],0,1);
  
  echo 
cs_subtemplate(__FILE__,$data,'kurse','vis');    
 
if(isset(
$_POST['submit'])){
  
$cs_post['students_visible'] = $_POST['students_visible'];
  

  
$users_cells = array('students_visible');
  
$users_save = array($cs_post['students_visible']);
  
cs_sql_update(__FILE__,'students',$users_cells,$users_save,0,$where);
  
  
cs_redirect($cs_lang['success'],'kurse','view','id='.$cs_kurs['kurs_id']);
  }
 
    


Der Fehler war, dass ich statt cs_sql_update(__FILE__,'students',$users_cells,$users_save,0,$where); nur cs_sql_update(__FILE__,'students',$users_cells,$users_save,$where); angegeben hatte. Daher war die $where-Variable zu weit nach vorne gerutscht, was dann zu keinem Eintrag führte!

/close

Tom


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Zuletzt editiert von Tom08 ClanSphere Team am 30.08.2009 um 16:29 Uhr (1x Editiert)
Inaktiv
|

Dieses Thema wurde von TeQu!La ClanSphere Team PM geschlossen.

Antworten: 1
Seite [1]