2017-05-14 1 views
0

Ich erstelle gerade ein Projekt, in dem ein Benutzer nur bestimmte Spalten in einer MySQL-Tabelle herunterladen darf.Wie kann ich bestimmten Benutzern erlauben, Teile einer Tabelle in phpMyAdmin herunterzuladen?

Der erste Teil meiner Frage ist, wie mache ich es so, dass ich bestimmte Spalten in die Form einer CSV herunterladen kann.

Der zweite Teil ist, wie ich nur Benutzern erlauben, die Spalten, für die sie die Erlaubnis haben, herunterzuladen.

Zum Beispiel bin ich Person A und ich möchte die Daten aus dieser Tabelle herunterladen. Ich darf nur die Spalten 1, 4 und 7 herunterladen. Diese Daten werden mir in Form einer CSV-Datei angezeigt, die ich in Excel anzeigen und ändern kann.

Ich möchte nicht, dass die Benutzer die Daten sehen können, auf die sie keinen Zugriff haben.

+0

Geben Sie den Benutzern Berechtigungssätze und überprüfen Sie sie in Ihrem Code. Sobald dies korrekt ist, führen Sie eine Auswahl aus, rufen Sie sie ab und stellen Sie den Inhalt bereit. Senden Sie den Header "CSV". http://stackoverflow.com/questions/17269568/force-download-csv-file – chris85

+0

das hat nichts mit phpmyadmin zu tun (das ist nur ein anderes PHP-Skript, keine Datenbank) – nogad

Antwort

1

Sie müssen dafür eine kleine Webanwendung erstellen. Dies wird einige Zeit, sorry, keine einfache Möglichkeit, erfordert:

  1. irgendeine Form von Authentifizierungssystem erstellen (Login-Formular oder Zugangscode) für die Benutzer, die Daten von den Benutzern Tisch zu bekommen. Das hast du wahrscheinlich schon.

  2. In phpMyAdmin fügen Sie eine Spalte namens PERMISSIONS in Ihre Benutzertabelle und in diese Spalte die Spalten ein, auf die der Benutzer zugreifen kann (Sie können sie wie in Ihrem Beispiel durch Kommas trennen).

  3. Wenn sich der Benutzer anmeldet, holen Sie die Benutzerberechtigungen, die für ihn gespeichert sind, und lassen Sie ihn explodieren (http://php.net/manual/es/function.explode.php). Dadurch können Sie ein Menü erstellen, das nur aus den Spalten besteht, die Sie dem Benutzer erlaubt haben.

  4. Dann machen Sie ein Formular. Innerhalb dieses Formulars müssen Sie ein Auswahlmenü (https://www.w3schools.com/tags/tag_select.asp) hinzufügen, das mit einer while-Schleife generiert wird, wobei das Ergebnis der explode-Funktion und eine Übergabeschaltfläche verwendet werden.

  5. Nach dem Klicken auf den Absenden-Button wird der Benutzer zu einem Skript weitergeleitet. Rufen Sie die vom Benutzer ausgewählte Spalte im Auswahlmenü mit der POST-Methode ab.

  6. Führen Sie die SQL-Anweisung: 'SELECT $ column_X FROM table_X' und dann holen Sie es wieder mit einer while-Schleife, um das Ergebnis zu formatieren (Convert array into csv).

  7. Schließlich geben Sie das Ergebnis in einer CSV-Datei.

Verwandte Themen