Hi,
wenn man in der Coppermine mit der Stapel-Bearbeitung die hochgeladenen Bilder einfügt, so werden die nicht in der Reihenfolge in die Datenbank abgelegt, in der sie im Verzeichnis liegen.
Also wenn man die Fotos mit Img_xxxx.jpg hat, so werden die nicht als 1,2,3,4,5... eingestellt, sondern mehr 1,2,5,6,3,4,7,8...
Da will ich auch garnicht weiter dran rumrühren. Man kann sie ja sortieren, allerdings ist das bei ein paar hundert Bildern stundenlanges klicken oder mit dem MySql-Querybrowser ein nicht viel kürzeres eintippen der Positionen (100 - ...)
Nun sollte das doch Mysql auch automatisch können?
Auflisten lass ich mir die Bilder mit
SELECT * FROM pragmamx.mx00000_cpg148_pictures where aid=1 order by filepath, filename
Nun find ich aber kein SET position = (position-1) +1
Also wenn ne Null drin steht bei 100 beginnen und jede Zeile eins höher, ansonsten die Zeilen durchgehen bis eine 0 kommt und dann entsprechend der letzten Zeile die Position um eins erhöhen.
Oder wird das nur was mit nem PHP-Script?
Danke schon mal für die Antworten.
Ich hoffe, irgendwer versteht was ich will :-)
cu, Ralf
Hi ich versuch es zu verstehen. :red:
Du kannst doch aufsteigend und absteigend nach Dateinamen sortieren und auch voreinstellen. Dazu ist es allerdings erforderlich das die Dateienamen mit einer vorangestellten Zahl beginnen. Je nach Menge 001,002,003 usw. oder 0001,0002,0003 gefolgt von dem Dateinamen wie Sylvester2010. Das geht dann mit einer Batch Umbenennung z.B. in Irfan View bevor du die Dateien hochlädst. Wichtig ist der Nameszusatz weil Coppermine Bilder mit gleichem Namen (nur Nummern) auch wenn diese in verschiedenen Ordnern liegen als identisch erkennt und dann nicht mehrmals darstellt.
Vielleicht hilft es ja. Grüße aus Winterscheid
Das nachfolgende Script wollte ich halt mit ein oder 2 Zeilen im Mysql_Query_Browser machen, aber ich glaub, es wird bei der unteren Lösung bleiben. Funktioniert ja auch.
#!/usr/bin/php
<?php
$aid=$argv[1];
$dbhost = 'localhost';
$dbname = 'pragmamx';
$dbuname = 'yyyyy';
$dbpass = 'xxxxx';
$prefix = 'mxmxmx';
$db = mysql_connect($dbhost, $dbuname, $dbpass);
if (!$db) {
die("keine Verbindung möglich: \n" . mysql_error());
}
$db_selected = mysql_select_db($dbname,$db);
if (!$db_selected) {
die("DB nicht selektierbar:\n" . mysql_error());
}
$result = mysql_query("SELECT * FROM mxmxmx_cpg000_pictures where aid=$aid order by filepath,filename",$db);
$i=100;
while ( $row = mysql_fetch_row ( $result ) )
{
$row[28]=$i;
$update = mysql_query("UPDATE mxmxmx_cpg000_pictures SET position=$row[28] WHERE pid=$row[0]",$db);
$i=$i+1;
}
mysql_close($db);
?>