Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #3940 > unrolled thread

Umschalten zwischen zwei php+Scripten

Started bySigbert Helle <pc@sigbert.de>
First post2016-08-30 09:50 +0200
Last post2016-08-31 19:43 +0200
Articles 12 — 3 participants

Back to article view | Back to de.comp.lang.php


Contents

  Umschalten zwischen zwei php+Scripten Sigbert Helle <pc@sigbert.de> - 2016-08-30 09:50 +0200
    Re: Umschalten zwischen zwei php+Scripten Christian Stadler <stadli@gmx.de> - 2016-08-30 11:25 +0200
    Re: Umschalten zwischen zwei php+Scripten Christian Stadler <stadli@gmx.de> - 2016-08-30 12:26 +0200
    Re: Umschalten zwischen zwei php+Scripten Christian Stadler <stadli@gmx.de> - 2016-08-30 12:30 +0200
      Re: Umschalten zwischen zwei php+Scripten Sigbert Helle <pc@sigbert.de> - 2016-08-30 13:21 +0200
      Re: Umschalten zwischen zwei php+Scripten Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-08-30 14:21 +0200
        Re: Umschalten zwischen zwei php+Scripten Christian Stadler <stadli@gmx.de> - 2016-08-30 17:06 +0200
          Re: Umschalten zwischen zwei php+Scripten Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-08-30 17:09 +0200
            Re: Umschalten zwischen zwei php+Scripten Christian Stadler <stadli@gmx.de> - 2016-08-30 17:22 +0200
          Re: Umschalten zwischen zwei php+Scripten Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-08-30 17:10 +0200
            Re: Umschalten zwischen zwei php+Scripten Sigbert Helle <pc@sigbert.de> - 2016-08-31 19:00 +0200
              Re: Umschalten zwischen zwei php+Scripten Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-08-31 19:43 +0200

#3940 — Umschalten zwischen zwei php+Scripten

FromSigbert Helle <pc@sigbert.de>
Date2016-08-30 09:50 +0200
SubjectUmschalten zwischen zwei php+Scripten
Message-ID<e2ks5dFeiu0U1@mid.individual.net>
Hallo liebe Helferlein,
mal wieder eine ziemliche Anfänger-Frage:
Ich hab ein relativ umfangreiches php-Script mit eingebautem sql-code, 
der eine ORDER-Anweisung enthält.
Der User soll zwischen "ORDER" und "ORDER DESC" umschalten können.
Das einzige, was mir bisher dazu eingefallen ist: Eine Kopie des Scripts 
anlegen und den User zwischen diesen beiden Scripten umschalten lassen.
Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen, so 
dass er dann sagen kann "Nee, is nix - will ich anders!"
Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern 
erst danach.

Danke schon mal!

Sigbert Helle

[toc] | [next] | [standalone]


#3941

FromChristian Stadler <stadli@gmx.de>
Date2016-08-30 11:25 +0200
Message-ID<nq3je5$nds$1@dont-email.me>
In reply to#3940
Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
> Hallo liebe Helferlein,
> mal wieder eine ziemliche Anfänger-Frage:
> Ich hab ein relativ umfangreiches php-Script mit eingebautem sql-code, 
> der eine ORDER-Anweisung enthält.
> Der User soll zwischen "ORDER" und "ORDER DESC" umschalten können.
> Das einzige, was mir bisher dazu eingefallen ist: Eine Kopie des Scripts 
> anlegen und den User zwischen diesen beiden Scripten umschalten lassen.
> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen, so 
> dass er dann sagen kann "Nee, is nix - will ich anders!"
> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern 
> erst danach.
> 
> Danke schon mal!
> 
> Sigbert Helle
> 

Moin,

| $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';

PS: Wieder den flchasen Antworten button geklickt. Das sollte an die NG
gehen ...

MfG
Christian Stadler

[toc] | [prev] | [next] | [standalone]


#3942

FromChristian Stadler <stadli@gmx.de>
Date2016-08-30 12:26 +0200
Message-ID<nq3n13$2i9$1@dont-email.me>
In reply to#3940
Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
> Hallo liebe Helferlein,
> mal wieder eine ziemliche Anfänger-Frage:
> Ich hab ein relativ umfangreiches php-Script mit eingebautem sql-code, 
> der eine ORDER-Anweisung enthält.
> Der User soll zwischen "ORDER" und "ORDER DESC" umschalten können.
> Das einzige, was mir bisher dazu eingefallen ist: Eine Kopie des Scripts 
> anlegen und den User zwischen diesen beiden Scripten umschalten lassen.
> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen, so 
> dass er dann sagen kann "Nee, is nix - will ich anders!"
> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern 
> erst danach.

Moin,

| $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';

MfG
Christian Stadler

[toc] | [prev] | [next] | [standalone]


#3943

FromChristian Stadler <stadli@gmx.de>
Date2016-08-30 12:30 +0200
Message-ID<nq3n7j$2i9$3@dont-email.me>
In reply to#3940
Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
> Hallo liebe Helferlein,
> mal wieder eine ziemliche Anfänger-Frage:
> Ich hab ein relativ umfangreiches php-Script mit eingebautem sql-code, 
> der eine ORDER-Anweisung enthält.
> Der User soll zwischen "ORDER" und "ORDER DESC" umschalten können.
> Das einzige, was mir bisher dazu eingefallen ist: Eine Kopie des Scripts 
> anlegen und den User zwischen diesen beiden Scripten umschalten lassen.
> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen, so 
> dass er dann sagen kann "Nee, is nix - will ich anders!"
> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern 
> erst danach.

Moin,

| $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';

PS: Wieder den flchasen Antworten button geklickt. Das sollte an die NG
gehen ...

MfG
Christian Stadler

[toc] | [prev] | [next] | [standalone]


#3944

FromSigbert Helle <pc@sigbert.de>
Date2016-08-30 13:21 +0200
Message-ID<e2l8htFhg3vU1@mid.individual.net>
In reply to#3943
Hallo Christian,

> | $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';
Schon erfolgreich eingebaut!

Hätte ich aber eigentlich auch selbst drauf kommen können ...

Gruß
Sigbert

[toc] | [prev] | [next] | [standalone]


#3945

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2016-08-30 14:21 +0200
Message-ID<4198334.GXAFRqVoOG@PointedEars.de>
In reply to#3943
Christian Stadler wrote:

> Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
>> Ich hab ein relativ umfangreiches php-Script mit eingebautem sql-code,
>> der eine ORDER-Anweisung enthält.

1. Autsch.

2. Es gibt keine ORDER-Anweisung in (My)SQL (das nächste Mal bitte das DBMS 
   angeben).  Die Anweisung ist vermutlich “SELECT”; “ORDER BY” ist eine 
   _Klausel_ darin.

>> Der User soll zwischen "ORDER" und "ORDER DESC" umschalten können.
>> Das einzige, was mir bisher dazu eingefallen ist: Eine Kopie des Scripts
>> anlegen und den User zwischen diesen beiden Scripten umschalten lassen.

Autsch.

>> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen, so
>> dass er dann sagen kann "Nee, is nix - will ich anders!"
>> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern
>> erst danach.
> 
> | $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';

1. Das ergibt keine gültige Abfrage, in keiner mir bekannten SQL-
   Implementierung.  Es fehlt die Angabe, *wonach* sortiert werden soll.

   Formal gültig wäre:

   $sortorder = "ORDER BY blubb"
              . ($_POST['sortorder'] == 0 ? '' : ' DESC');

Ich würde dies allerdings in den Datenbank-Klassen (die man haben sollte) 
lösen.  In Benutzercode gehören keine Klartext-Datenbankanweisungen, schon 
gar keine DBMS-spezifischen.  Sauber könnte es stattdessen zum Beispiel so 
aussehen:

  <?php
    namespace My;

    class ResultModel extends \My\Model
    {
      /**
       * @return array[ResultModel]
       */
      public static function fetchAll ($ascending=true)
      {
        return (new self)->table->select(
          [
            …,
            'order' => ($ascending
                         ? Database::ORDER_ASC
                         : Database::ORDER_DESC),
            'class' => __CLASS__
          ]);
      }
    }

    …

  <?php
    namespace My;

    class IndexController extends \My\Controller
    {
      public function indexAction ()
      {    
        $results = ResultModel::fetchAll(
          $this->getParam('sortorder', $_POST) === '0');
        $this->assign('results', $results);
        $this->render();
      }
    }

  …

  <?php foreach ($this->results as $result): ?>
    <tr>
      <td><?= $this->encode($result->foo); ?></td>
      <td><?= $this->encode($result->bar); ?></td>
      <td><?= $this->encode($result->baz); ?></td>
    </tr>
  <?php endforeach; ?>


Bitte Code nicht mit Zitatzeichen posten, ausser es folgt eine 
Korrektur/Anmerkung dazu.

-- 
PointedEars
Zend Certified PHP Engineer 
<http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#3946

FromChristian Stadler <stadli@gmx.de>
Date2016-08-30 17:06 +0200
Message-ID<nq47ec$oid$1@dont-email.me>
In reply to#3945
Am 30.08.2016 um 14:21 schrieb Thomas 'PointedEars' Lahn:
> Christian Stadler wrote:
>> Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
>>> [schnipp]
>>> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen, so
>>> dass er dann sagen kann "Nee, is nix - will ich anders!"
>>> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern
>>> erst danach.
>> 
>> | $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';
> 
> 1. Das ergibt keine gültige Abfrage, in keiner mir bekannten SQL-
>    Implementierung.  Es fehlt die Angabe, *wonach* sortiert werden soll.
> 
>    Formal gültig wäre:
> 
>    $sortorder = "ORDER BY blubb"
>               . ($_POST['sortorder'] == 0 ? '' : ' DESC');

Stimmt, war ein Folgefehler. Ist aber auch relativ relativ, er hat ja
bereits die korrekte Lösung eingebaut.

MfG
  Christian Stadler

[toc] | [prev] | [next] | [standalone]


#3947

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2016-08-30 17:09 +0200
Message-ID<11598052.uLZWGnKmhe@PointedEars.de>
In reply to#3946
Christian Stadler wrote:

> Am 30.08.2016 um 14:21 schrieb Thomas 'PointedEars' Lahn:
>> Christian Stadler wrote:
>>> Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
>>>> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen,
>>>> so dass er dann sagen kann "Nee, is nix - will ich anders!"
>>>> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern
>>>> erst danach.
>>> 
>>> | $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';
>> 
>> 1. Das ergibt keine gültige Abfrage, in keiner mir bekannten SQL-
>>    Implementierung.  Es fehlt die Angabe, *wonach* sortiert werden soll.
>> 
>>    Formal gültig wäre:
>> 
>>    $sortorder = "ORDER BY blubb"
>>               . ($_POST['sortorder'] == 0 ? '' : ' DESC');
> 
> Stimmt, war ein Folgefehler. Ist aber auch relativ relativ, er hat ja
> bereits die korrekte Lösung eingebaut.

Für geeignete Werte von „korrekt“, *siehe den Rest meines Postings*.

-- 
PointedEars
Zend Certified PHP Engineer 
<http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#3949

FromChristian Stadler <stadli@gmx.de>
Date2016-08-30 17:22 +0200
Message-ID<nq48c7$s0c$1@dont-email.me>
In reply to#3947
Am 30.08.2016 um 17:09 schrieb Thomas 'PointedEars' Lahn:
> Christian Stadler wrote:
>> Am 30.08.2016 um 14:21 schrieb Thomas 'PointedEars' Lahn:
>>> Christian Stadler wrote:
>>>> Am 30.08.2016 um 09:50 schrieb Sigbert Helle:
>>>>> Der User soll aber zuerst das Ergebnsi per "ORDER" zu sehen bekommen,
>>>>> so dass er dann sagen kann "Nee, is nix - will ich anders!"
>>>>> Also nicht schon vor dem Aufruf des Scripts die Entscheidung, sondern
>>>>> erst danach.
>>>> 
>>>> | $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';
>>> 
>>> 1. Das ergibt keine gültige Abfrage, in keiner mir bekannten SQL-
>>>    Implementierung.  Es fehlt die Angabe, *wonach* sortiert werden soll.
>>> 
>>>    Formal gültig wäre:
>>> 
>>>    $sortorder = "ORDER BY blubb"
>>>               . ($_POST['sortorder'] == 0 ? '' : ' DESC');
>> 
>> Stimmt, war ein Folgefehler. Ist aber auch relativ relativ, er hat ja
>> bereits die korrekte Lösung eingebaut.
> 
> Für geeignete Werte von „korrekt“, *siehe den Rest meines Postings*.

Ja, das korrekt ist etwas unglücklich gewählt. Ich meinte eher: Die aus
seiner Sicht korrekte Lösung bzw. meine von dir verbesserte Lösung.
Ich wollte halt nur nicht mein Posting zurückziehen, um meine Aussage
nachträglich zu verbessern.

Dein Ansatz habe ich gesehen und ja, ich würde diesen so ähnlich auch
vorziehen.

MfG
  Christian Stadler

[toc] | [prev] | [next] | [standalone]


#3948

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2016-08-30 17:10 +0200
Message-ID<2520229.e9J7NaK4W3@PointedEars.de>
In reply to#3946
Christian Stadler wrote:

> Am 30.08.2016 um 14:21 schrieb Thomas 'PointedEars' Lahn:
>> Christian Stadler wrote:
>>> | $sortorder = $_POST['sortorder'] == 0 ? 'ORDER' : 'ORDER DESC';
>> 
>> 1. Das ergibt keine gültige Abfrage, in keiner mir bekannten SQL-
>>    Implementierung.  Es fehlt die Angabe, *wonach* sortiert werden soll.
>> 
>>    Formal gültig wäre:
>> 
>>    $sortorder = "ORDER BY blubb"
>>               . ($_POST['sortorder'] == 0 ? '' : ' DESC');
> 
> Stimmt, war ein Folgefehler. Ist aber auch relativ relativ, er hat ja
> bereits die korrekte Lösung eingebaut.

Wie kommst Du darauf?

-- 
PointedEars
Zend Certified PHP Engineer 
<http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#3950

FromSigbert Helle <pc@sigbert.de>
Date2016-08-31 19:00 +0200
Message-ID<e2ogp2Fb3q4U1@mid.individual.net>
In reply to#3948
Hallo Thomas,

>> Stimmt, war ein Folgefehler. Ist aber auch relativ relativ, er hat ja
>> bereits die korrekte Lösung eingebaut.
>
> Wie kommst Du darauf?

Wohl, weil ich geschrieben hatte "Schon erfolgreich eingebaut!".
Hab natürlich als Alternative 'DESC' und 'ASC' genommen.
Gruß
Sigbert

[toc] | [prev] | [next] | [standalone]


#3951

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2016-08-31 19:43 +0200
Message-ID<1623109.CQOukoFCf9@PointedEars.de>
In reply to#3950
Sigbert Helle wrote:

> Hallo Thomas,

E-Mail ist woanders.
 
>>> Stimmt, war ein Folgefehler. Ist aber auch relativ relativ, er hat ja
>>> bereits die korrekte Lösung eingebaut.
>> Wie kommst Du darauf?
> 
> Wohl, weil ich geschrieben hatte "Schon erfolgreich eingebaut!".
> Hab natürlich als Alternative 'DESC' und 'ASC' genommen.

Die Lösung, unter die Du das geschrieben hast, ist aber nicht korrekt.

-- 
PointedEars
Zend Certified PHP Engineer 
<http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.lang.php


csiph-web