Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3940 > unrolled thread
| Started by | Sigbert Helle <pc@sigbert.de> |
|---|---|
| First post | 2016-08-30 09:50 +0200 |
| Last post | 2016-08-31 19:43 +0200 |
| Articles | 12 — 3 participants |
Back to article view | Back to de.comp.lang.php
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
| From | Sigbert Helle <pc@sigbert.de> |
|---|---|
| Date | 2016-08-30 09:50 +0200 |
| Subject | Umschalten 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]
| From | Christian Stadler <stadli@gmx.de> |
|---|---|
| Date | 2016-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]
| From | Christian Stadler <stadli@gmx.de> |
|---|---|
| Date | 2016-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]
| From | Christian Stadler <stadli@gmx.de> |
|---|---|
| Date | 2016-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]
| From | Sigbert Helle <pc@sigbert.de> |
|---|---|
| Date | 2016-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]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-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]
| From | Christian Stadler <stadli@gmx.de> |
|---|---|
| Date | 2016-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]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-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]
| From | Christian Stadler <stadli@gmx.de> |
|---|---|
| Date | 2016-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]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-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]
| From | Sigbert Helle <pc@sigbert.de> |
|---|---|
| Date | 2016-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]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-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